From ecde9a5d840a6e8aac15043d39c50a7bf7fdea66 Mon Sep 17 00:00:00 2001 From: kzhdev Date: Thu, 3 Oct 2013 10:45:02 -0500 Subject: [PATCH 1/3] pass evt into contentMouseDown and contentMouseUp event --- src/Stage.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Stage.js b/src/Stage.js index 92b037bc..8f27e5d3 100644 --- a/src/Stage.js +++ b/src/Stage.js @@ -434,7 +434,7 @@ } // content event - this._fire(CONTENT_MOUSEDOWN); + this._fire(CONTENT_MOUSEDOWN, evt); // always call preventDefault for desktop events because some browsers // try to drag and drop the canvas element @@ -474,7 +474,7 @@ } } // content events - this._fire(CONTENT_MOUSEUP); + this._fire(CONTENT_MOUSEUP, evt); if (Kinetic.listenClickTap) { this._fire(CONTENT_CLICK, evt); if(fireDblClick) { From 809b8b82e9b6be7d07a56ec108c843338f25b5b1 Mon Sep 17 00:00:00 2001 From: kzhdev Date: Fri, 4 Oct 2013 14:03:50 -0500 Subject: [PATCH 2/3] Don't use cached event listener length in node._fire because changing shape attribures in a event could remove kinetic event handler from the array which willl cause 'hander of undefined' error. --- src/Node.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Node.js b/src/Node.js index e252eb3c..91c314dc 100644 --- a/src/Node.js +++ b/src/Node.js @@ -1211,8 +1211,7 @@ len, i; if (events) { - len = events.length; - for(i = 0; i < len; i++) { + for(i = 0; i < events.length; i++) { events[i].handler.call(this, evt); } } From 0435be435980b6b356196e2bc368dfcd9193995c Mon Sep 17 00:00:00 2001 From: kzhdev Date: Fri, 4 Oct 2013 14:43:08 -0500 Subject: [PATCH 3/3] remove unused variable. --- src/Node.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Node.js b/src/Node.js index 91c314dc..5e03ff3d 100644 --- a/src/Node.js +++ b/src/Node.js @@ -1208,7 +1208,7 @@ }, _fire: function(eventType, evt) { var events = this.eventListeners[eventType], - len, i; + i; if (events) { for(i = 0; i < events.length; i++) {