RFR: 8225571: Port DND source to use GTK instead of GDK
Kevin Rushforth
kcr at openjdk.java.net
Tue Dec 10 23:53:38 UTC 2019
On Tue, 10 Dec 2019 19:41:05 GMT, Thiago Milczarek Sayao <tsayao at openjdk.org> wrote:
>> 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.
> Does it send the event on other platforms? I can test on Windows.
Yes, it always sends the `DRAG_DONE` event on all platforms today (I tested it on Mac, Windows, and Linux).
> Will look into the assertion error - it does not happen on 18.04.
It doesn't happen on 19.10 either. Only 16.04 as far as I have tested. I'll also test on Oracle Linux 7.x.
-------------
PR: https://git.openjdk.java.net/jfx/pull/4
More information about the openjfx-dev
mailing list