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