> This PR fixes 8273379.
> 
> I reverted back to use GDK (from 
> [8225571](https://bugs.openjdk.org/browse/JDK-8225571)) to handle the events. 
> 
> It may also fix [8280383](https://bugs.openjdk.org/browse/JDK-8280383).
> 
> There's also some cleaup.
> 
> To do general testing (two tests were added):
> `java @build/run.args -jar apps/toys/DragDrop/dist/DragDrop.jar`
> 
> Information for reviewing:
> * Previously an offscreen window where used to pass events. Now it gets the 
> window were Drag initially started  
> (`WindowContextBase::sm_mouse_drag_window`);
> * There's a new `DragSourceContext` instead of global variables;
> * DragView were simplified;
> * It handles `GDK_GRAB_BROKEN` events (I still need to figure it out a test 
> case for this - It should happen when another window grabs the device during 
> the drag);
> * There's a special case for `GDK_BUTTON_RELEASE` because `WindowContext` 
> will notify java about the button release and set `DnDGesture` to null before 
> the end of the DND.
> * `gdk_drag_find_window_for_screen` -> pass the DragView window to be ignored 
> (as it would "steal" destination motion events);
> * The Scenario were the drag source window closes during the drag is now 
> covered;
> * It does not rely on `gdk_threads_add_idle` because it may be inconsistent.
> 
> 
> ![image](https://user-images.githubusercontent.com/30704286/213877115-18f274ff-18c9-4d38-acc4-449f24174ecc.png)
> ![image](https://user-images.githubusercontent.com/30704286/213877140-1d24c293-d70f-46e6-b040-c49170d2aa9a.png)

Thiago Milczarek Sayao has updated the pull request incrementally with one 
additional commit since the last revision:

  Use standard cursors

-------------

Changes:
  - all: https://git.openjdk.org/jfx/pull/986/files
  - new: https://git.openjdk.org/jfx/pull/986/files/127677c1..c0eb6531

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=986&range=27
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=986&range=26-27

  Stats: 20 lines in 1 file changed: 0 ins; 19 del; 1 mod
  Patch: https://git.openjdk.org/jfx/pull/986.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/986/head:pull/986

PR: https://git.openjdk.org/jfx/pull/986

Reply via email to