diff --git a/lib/ace/ace.js b/lib/ace/ace.js index 52a2ad87..c8dba8f2 100644 --- a/lib/ace/ace.js +++ b/lib/ace/ace.js @@ -94,6 +94,9 @@ exports.edit = function(el) { onResize: editor.resize.bind(editor) }; event.addListener(window, "resize", env.onResize); + editor.on("destroy", function() { + event.removeListener(window, "resize", env.onResize); + }); el.env = editor.env = env; return editor; }; diff --git a/lib/ace/editor.js b/lib/ace/editor.js index d7a56fb2..8e9fad42 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -2169,6 +2169,7 @@ var Editor = function(renderer, session) { **/ this.destroy = function() { this.renderer.destroy(); + this._emit("destroy", this); }; }).call(Editor.prototype);