From de9ae4a5bb6b85ff2083652833e4d6bff8a73be4 Mon Sep 17 00:00:00 2001 From: Schuyler Erle Date: Fri, 30 Mar 2007 22:03:05 +0000 Subject: [PATCH] Keyboard-related classes get destroy(). Fixes #598. Ba-ding. git-svn-id: http://svn.openlayers.org/trunk/openlayers@2936 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Control/KeyboardDefaults.js | 12 ++++++++++++ lib/OpenLayers/Handler/Keyboard.js | 9 +++++++++ 2 files changed, 21 insertions(+) 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);