RFR: 8273379 - GTK3 stops sending key events during drag and drop [v23]
Thiago Milczarek Sayao
tsayao at openjdk.org
Wed Jan 18 00:34:48 UTC 2023
> 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;
Thiago Milczarek Sayao has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 59 additional commits since the last revision:
- Merge branch 'master' into 8273379-dnd-keys
- Merge branch 'openjdk:master' into master
- Fix DragView below cursor
- Minor adjustments
- Typo
- Remove commented out code
- Rework 2
- Fix drag leave
- Fix cursor + improve drag move
- Fix icon size on dragview
- ... and 49 more: https://git.openjdk.org/jfx/compare/0f417b5a...c7d88050
-------------
Changes:
- all: https://git.openjdk.org/jfx/pull/986/files
- new: https://git.openjdk.org/jfx/pull/986/files/5ee52e69..c7d88050
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jfx&pr=986&range=22
- incr: https://webrevs.openjdk.org/?repo=jfx&pr=986&range=21-22
Stats: 362 lines in 19 files changed: 301 ins; 7 del; 54 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
More information about the openjfx-dev
mailing list