eclipse-platform / eclipse.platform.swt

Eclipse SWT
https://www.eclipse.org/swt/
Eclipse Public License 2.0
118 stars 137 forks source link

[GTK4] Double click registers as one DOWN and two UP events instead of two of each #344

Open joel-majano opened 2 years ago

joel-majano commented 2 years ago

Run Snippet 62 in GTK4 then double click in the window. You will see a lot of move events, and then one single "DOWN" event followed by two "UP" events. There should be two of each in the "DOWN, UP, DOWN, UP" sequence which can be obtained when using this snippet in GTK3.

Environment: Fedora 36, GTK 4.6.5, Wayland, OpenJDK17

Tracked in #228

lathapatil commented 7 months ago

@joel-majano how do I switch between gtk3 and gtk4 to test snippet '62? I have setup SWT workspace from oomph in Eclipse IDE for Committers

Currently I am able to get "DOWN, UP, DOWN, UP" sequence on double click. I have built native binaries using gtk4 ./build.sh -gtk4 install

akurtakov commented 7 months ago

@lathapatil start the snipped with SWT_GTK4=1 env variable.

lathapatil commented 7 months ago

start the snipped with SWT_GTK4=1 env variable.

Thank you for the quick reply. Does this also apply to JUnit testing and SWT examples?

akurtakov commented 7 months ago

start the snipped with SWT_GTK4=1 env variable.

Thank you for the quick reply. Does this also apply to JUnit testing and SWT examples?

Yes, if the env variable is set SWT will try load GTK 4 libs and fallback to Gtk 3.x if loading 4.x fails.

lathapatil commented 7 months ago

I observed some test failures when SWT_GTK=1 was set for AllWidgetTests, eventually leading to a testcase that rendered Eclipse unresponsive and caused it to close.

Perhaps we should consider creating an issue to address these problems once somebody else confirm the behavior.

akurtakov commented 7 months ago

I observed some test failures when SWT_GTK=1 was set for AllWidgetTests, eventually leading to a testcase that rendered Eclipse unresponsive and caused it to close.

Perhaps we should consider creating an issue to address these problems once somebody else confirm the behavior.

I am not aware of anyone else looking into this so this could mean waiting indefinetely.