diff --git a/lib/OpenLayers/Control/Panel.js b/lib/OpenLayers/Control/Panel.js index a37e24aa41..a7726d86d1 100644 --- a/lib/OpenLayers/Control/Panel.js +++ b/lib/OpenLayers/Control/Panel.js @@ -34,20 +34,28 @@ OpenLayers.Control.Panel.prototype = }, activate: function() { - OpenLayers.Control.prototype.activate.apply(this, arguments); - for(var i = 0; i < this.controls.length; i++) { - if (this.controls[i] == this.defaultControl) { - this.controls[i].activate(); - } - } - this.redraw(); + if (OpenLayers.Control.prototype.activate.apply(this, arguments)) { + for(var i = 0; i < this.controls.length; i++) { + if (this.controls[i] == this.defaultControl) { + this.controls[i].activate(); + } + } + this.redraw(); + return true; + } else { + return false; + } }, deactivate: function() { - OpenLayers.Control.prototype.deactivate.apply(this, arguments); - for(var i = 0; i < this.controls.length; i++) { - this.controls[i].deactivate(); - } - this.redraw(); + if (OpenLayers.Control.prototype.deactivate.apply(this, arguments)) { + for(var i = 0; i < this.controls.length; i++) { + this.controls[i].deactivate(); + } + this.redraw(); + return true; + } else { + return false; + } }, /** diff --git a/lib/OpenLayers/Handler/Box.js b/lib/OpenLayers/Handler/Box.js index d503cc3a34..7194c262ae 100644 --- a/lib/OpenLayers/Handler/Box.js +++ b/lib/OpenLayers/Handler/Box.js @@ -113,13 +113,21 @@ OpenLayers.Handler.Box.prototype = OpenLayers.Class.inherit( OpenLayers.Handler, }, activate: function () { - OpenLayers.Handler.prototype.activate.apply(this, arguments); - this.dragHandler.activate(); + if (OpenLayers.Handler.prototype.activate.apply(this, arguments)) { + this.dragHandler.activate(); + return true; + } else { + return false; + } }, deactivate: function () { - OpenLayers.Handler.prototype.deactivate.apply(this, arguments); - this.dragHandler.deactivate(); + if (OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) { + this.dragHandler.deactivate(); + return true; + } else { + return false; + } }, CLASS_NAME: "OpenLayers.Handler.Box" diff --git a/lib/OpenLayers/Handler/Keyboard.js b/lib/OpenLayers/Handler/Keyboard.js index bce0f105cc..2ac61ad5f0 100644 --- a/lib/OpenLayers/Handler/Keyboard.js +++ b/lib/OpenLayers/Handler/Keyboard.js @@ -42,18 +42,26 @@ OpenLayers.Handler.Keyboard.prototype = OpenLayers.Class.inherit( OpenLayers.Han }, activate: function() { - OpenLayers.Handler.prototype.activate.apply(this, arguments); - for (var i = 0; i < this.KEY_EVENTS.length; i++) { - OpenLayers.Event.observe( - window, this.KEY_EVENTS[i], this.eventListener); + if (OpenLayers.Handler.prototype.activate.apply(this, arguments)) { + for (var i = 0; i < this.KEY_EVENTS.length; i++) { + OpenLayers.Event.observe( + window, this.KEY_EVENTS[i], this.eventListener); + } + return true; + } else { + return false; } }, deactivate: function() { - OpenLayers.Handler.prototype.activate.apply(this, arguments); - for (var i = 0; i < this.KEY_EVENTS.length; i++) { - OpenLayers.Event.stopObserving( - document, this.KEY_EVENTS[i], this.eventListener); + if (OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) { + for (var i = 0; i < this.KEY_EVENTS.length; i++) { + OpenLayers.Event.stopObserving( + document, this.KEY_EVENTS[i], this.eventListener); + } + return true; + } else { + return false; } }, diff --git a/lib/OpenLayers/Handler/MouseWheel.js b/lib/OpenLayers/Handler/MouseWheel.js index 18425b7ff3..91477cabbb 100644 --- a/lib/OpenLayers/Handler/MouseWheel.js +++ b/lib/OpenLayers/Handler/MouseWheel.js @@ -103,21 +103,29 @@ OpenLayers.Handler.MouseWheel.prototype = OpenLayers.Class.inherit( OpenLayers.H }, activate: function (evt) { - OpenLayers.Handler.prototype.activate.apply(this, arguments); - //register mousewheel events specifically on the window and document - var wheelListener = this.wheelListener; - OpenLayers.Event.observe(window, "DOMMouseScroll", wheelListener); - OpenLayers.Event.observe(window, "mousewheel", wheelListener); - OpenLayers.Event.observe(document, "mousewheel", wheelListener); + if (OpenLayers.Handler.prototype.activate.apply(this, arguments)) { + //register mousewheel events specifically on the window and document + var wheelListener = this.wheelListener; + OpenLayers.Event.observe(window, "DOMMouseScroll", wheelListener); + OpenLayers.Event.observe(window, "mousewheel", wheelListener); + OpenLayers.Event.observe(document, "mousewheel", wheelListener); + return true; + } else { + return false; + } }, deactivate: function (evt) { - OpenLayers.Handler.prototype.deactivate.apply(this, arguments); - // unregister mousewheel events specifically on the window and document - var wheelListener = this.wheelListener; - OpenLayers.Event.stopObserving(window, "DOMMouseScroll", wheelListener); - OpenLayers.Event.stopObserving(window, "mousewheel", wheelListener); - OpenLayers.Event.stopObserving(document, "mousewheel", wheelListener); + if (OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) { + // unregister mousewheel events specifically on the window and document + var wheelListener = this.wheelListener; + OpenLayers.Event.stopObserving(window, "DOMMouseScroll", wheelListener); + OpenLayers.Event.stopObserving(window, "mousewheel", wheelListener); + OpenLayers.Event.stopObserving(document, "mousewheel", wheelListener); + return true; + } else { + return false; + } }, /** @final @type String */