diff --git a/lib/OpenLayers/Control/KeyboardDefaults.js b/lib/OpenLayers/Control/KeyboardDefaults.js index f88c0c6191..add0f83bca 100644 --- a/lib/OpenLayers/Control/KeyboardDefaults.js +++ b/lib/OpenLayers/Control/KeyboardDefaults.js @@ -23,6 +23,18 @@ OpenLayers.Control.KeyboardDefaults.prototype = OpenLayers.Control.prototype.initialize.apply(this, arguments); }, + /** + * + */ + destroy: function() { + if (this.handler) { + this.handler.destroy(); + } + this.handler = null; + + OpenLayers.Control.prototype.destroy.apply(this, arguments); + }, + /** * */ diff --git a/lib/OpenLayers/Handler/Keyboard.js b/lib/OpenLayers/Handler/Keyboard.js index f3ac2fcaac..bce0f105cc 100644 --- a/lib/OpenLayers/Handler/Keyboard.js +++ b/lib/OpenLayers/Handler/Keyboard.js @@ -31,6 +31,15 @@ OpenLayers.Handler.Keyboard.prototype = OpenLayers.Class.inherit( OpenLayers.Han // cache the bound event listener method so it can be unobserved later this.eventListener = this.handleKeyEvent.bindAsEventListener(this); }, + + /** + * + */ + destroy: function() { + this.deactivate(); + this.eventListener = null; + OpenLayers.Control.prototype.destroy.apply(this, arguments); + }, activate: function() { OpenLayers.Handler.prototype.activate.apply(this, arguments);