From 4e6d48bf2e6908e6f17fcaa4a3850c27f645fc53 Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 31 Mar 2015 17:00:25 +0400 Subject: [PATCH] make sure operationEnd events are not emitted to wrong session --- lib/ace/editor.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 8f051394..f00f74f6 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -278,6 +278,10 @@ var Editor = function(renderer, session) { this.setSession = function(session) { if (this.session == session) return; + + // make sure operationEnd events are not emitted to wrong session + if (this.curOp) this.endOperation(); + this.curOp = {}; var oldSession = this.session; if (oldSession) { @@ -377,6 +381,8 @@ var Editor = function(renderer, session) { oldSession: oldSession }); + this.curOp = null; + oldSession && oldSession._signal("changeEditor", {oldEditor: this}); session && session._signal("changeEditor", {editor: this}); };