diff --git a/changelog.md b/changelog.md index ad79da63..a4fc46b3 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,7 @@ +# v3.4.1 + +- Bug fix for custom controls (fixes #1161) + # v3.4.0 - Accessibility improvements (see #905) diff --git a/src/js/controls.js b/src/js/controls.js index d8de2632..c04ba783 100644 --- a/src/js/controls.js +++ b/src/js/controls.js @@ -1611,18 +1611,20 @@ const controls = { // Add pressed property to buttons if (!is.empty(this.elements.buttons)) { // Toggle classname when pressed property is set - Object.values(this.elements.buttons).forEach(button => { - const className = this.config.classNames.controlPressed; - Object.defineProperty(button, 'pressed', { - enumerable: true, - get() { - return hasClass(button, className); - }, - set(pressed = false) { - toggleClass(button, className, pressed); - }, + Object.values(this.elements.buttons) + .filter(Boolean) + .forEach(button => { + const className = this.config.classNames.controlPressed; + Object.defineProperty(button, 'pressed', { + enumerable: true, + get() { + return hasClass(button, className); + }, + set(pressed = false) { + toggleClass(button, className, pressed); + }, + }); }); - }); } // Edge sometimes doesn't finish the paint so force a redraw