diff --git a/lib/ace/mouse/mouse_handler.js b/lib/ace/mouse/mouse_handler.js index cac4ce42..04e694e4 100644 --- a/lib/ace/mouse/mouse_handler.js +++ b/lib/ace/mouse/mouse_handler.js @@ -112,6 +112,12 @@ var MouseHandler = function(editor) { var self = this; var onMouseMove = function(e) { + if (!e) return; + // if editor is loaded inside iframe, and mouseup event is outside + // we won't recieve it, so we cancel on first mousemove without button + if (useragent.isWebKit && !e.which && self.releaseMouse) + return self.releaseMouse(); + self.x = e.clientX; self.y = e.clientY; mouseMoveHandler && mouseMoveHandler(e); @@ -130,7 +136,7 @@ var MouseHandler = function(editor) { } self.isMousePressed = false; self.$onCaptureMouseMove = self.releaseMouse = null; - self.onMouseEvent("mouseup", e); + e && self.onMouseEvent("mouseup", e); }; var onCaptureInterval = function() {