hg: openjfx/8/graphics/rt: [RT-29141] FB: dnd does not work between several stages

hang.vo at oracle.com hang.vo at oracle.com
Wed Apr 24 04:19:37 PDT 2013


Changeset: 2cdedd86a571
Author:    Assaf Yavani
Date:      2013-04-24 14:14 +0300
URL:       http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/2cdedd86a571

[RT-29141] FB: dnd does not work between several stages
Analysis:
Currently DnD events are handled in Java and MouseDrag events are handled in native (RT-29899), and one doesn't know about the other . This in turn gave the MouseDrag events precedence over DnD events resulting in the fact that all mouse events were been sent to same stage, which have misled the DnD event mechanism. When MouseDrag mechanism was disabled, the DnD events worked fine.

Solution:
Added a notification to  the window manager (native) that DnD has been started (or ended), which in turn disable the the MouseDrag mechanism, which resulted in the correct events fired.

Testing:
Using the test application that is attached to the bug I have compared the behavior with Windows build from graphics-scrum b1005, with the behavior on the BB with the patch.
Also I have modified the application to check if the MouseDrag events are still functional.

In addition I have analyzed RT-26868 ( EGLFB: some mouse drag and content menu events not reported) which have a test application that check context menu events and MouseDrag events. All worked fine, so if this patch is approved it can also be closed.

! glass/glass-lib-lens/src/LensApplication.c
! glass/glass-lib-lens/src/wm/LensWindowManager.c
! glass/glass-lib-lens/src/wm/LensWindowManager.h
! glass/glass/src/com/sun/glass/ui/lens/LensApplication.java



More information about the openjfx-dev mailing list