RFR: 8225571: Port DND source to use GTK instead of GDK

Kevin Rushforth kcr at openjdk.java.net
Tue Dec 10 16:13:16 UTC 2019


On Mon, 2 Dec 2019 11:09:05 GMT, Thiago Milczarek Sayao <tsayao at openjdk.org> wrote:

>> Preliminary review was here: [javafxports/openjdk-jfx/pull/490](https://github.com/javafxports/openjdk-jfx/pull/490)
> 
> 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.

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

PR: https://git.openjdk.java.net/jfx/pull/4


More information about the openjfx-dev mailing list