[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-openjfx-dev
Subject: Withdrawn: 8273379: GTK3 stops sending key events during drag and drop
From: Thiago Milczarek Sayao <tsayao () openjdk ! org>
Date: 2023-06-22 12:06:41
Message-ID: TTB8BYfzBTKOE7mmp4bGgSwrxvmwbCoUlUI3G2KqnfI=.f6f5ada7-fe14-4a7f-b650-23846e181c96 () github ! com
[Download RAW message or body]
On Tue, 27 Dec 2022 13:19:06 GMT, Thiago Milczarek Sayao <tsayao@openjdk.org> wrote:
> 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)
>
This pull request has been closed without being integrated.
-------------
PR: https://git.openjdk.org/jfx/pull/986
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic