Need to create a chain of parent event targets.

Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/e440ae9f
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/e440ae9f
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/e440ae9f

Branch: refs/heads/browser-event
Commit: e440ae9f2b9b0524de42e90da66f6c69bd7cd5ce
Parents: 36cea4f
Author: Peter Ent <[email protected]>
Authored: Wed Jul 19 14:43:17 2017 -0400
Committer: Peter Ent <[email protected]>
Committed: Wed Jul 19 14:43:17 2017 -0400

----------------------------------------------------------------------
 .../src/main/flex/org/apache/flex/events/DragEvent.as        | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e440ae9f/frameworks/projects/DragDrop/src/main/flex/org/apache/flex/events/DragEvent.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/DragDrop/src/main/flex/org/apache/flex/events/DragEvent.as
 
b/frameworks/projects/DragDrop/src/main/flex/org/apache/flex/events/DragEvent.as
index cb161c0..0731c75 100644
--- 
a/frameworks/projects/DragDrop/src/main/flex/org/apache/flex/events/DragEvent.as
+++ 
b/frameworks/projects/DragDrop/src/main/flex/org/apache/flex/events/DragEvent.as
@@ -409,13 +409,17 @@ package org.apache.flex.events
             }
             COMPILE::JS
             {
+                               // build an event target chain of ancestors so 
that bubbling
+                               // will work for drag events on JS platform.
                                var pet:Object = target.getParentEventTarget();
                                if (!pet) {
                                        var p:Object = target.parent;
-                                       while (p != null && !(p is IStrand)) {
+                                       var t:Object = target;
+                                       while (p != null && (p is IStrand)) {
+                                               t.setParentEventTarget(p);
+                                               t = p;
                                                p = p.parent;
                                        }
-                                       target.setParentEventTarget(p);
                                }
                                
                                (target as 
IEventDispatcher).dispatchEvent(event);

Reply via email to