RFR: 8225571: Port DND source to use GTK instead of GDK
Thiago Milczarek Sayao
tsayao at openjdk.java.net
Tue Dec 10 19:41:19 UTC 2019
On Tue, 10 Dec 2019 16:13:06 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
>> Just a reminder to take a look when time allows.
>
> I'm starting to look at this. I see at least one behavioral difference that will need to be addressed. With the existing implementation, if I drag / drop onto a target that set up to receive the drop, the transfer completes with a transfer mode of `null`. With your patch, the transfer never completes -- the `DRAG_DONE` event is never sent.
>
> This can be most easily seen by running the `DragDropWithControls` app and doing one of the following two things:
>
> 1. Drag from the source rectangle and drop somewhere _other than_ the target rectangle, for example, in the status text box at the bottom.
> 2. Change the source data format to `HTML` (uncheck `PLAINTEXT`), leaving the target at `PLAINTEXT`, then drag from the source rectangle and drop onto the target rectangle
>
> In addition to the drop not happening, I get the following assertion error on Ubuntu 16.04:
>
> (java:22328): Gdk-CRITICAL **: gdk_frame_clock_get_frame_time: assertion 'GDK_IS_FRAME_CLOCK (frame_clock)' failed
>
> I'm using the default GTK 3 library.
@kevinrushforth I changed that behaviour. Since the drag does not complete i find it counter-intuitive to send the DRAG_DONE event.
Does it send the event on other platforms? I can test on Windows.
Will look into the assertion error - it does not happen on 18.04.
-------------
PR: https://git.openjdk.java.net/jfx/pull/4
More information about the openjfx-dev
mailing list