On Fri, 11 Feb 2022 07:09:39 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:

>> MATE desktop continues the "traditional" Gnome2 desktop development, so I 
>> thought it would be a good test for Gtk2 interfaces. FWIW, I ran the tests 
>> on such a system with DPI set to 200 (there's no other way to scale the 
>> interface under MATE AFAIK) and they all pass. However, the test executes 
>> the same code path as before going by `if (gtk3_version_3_10)` branch.
>> 
>> @prrace 
>>> GTK2 is still available from Ubuntu package manager for all current 
>>> releases.
>> 
>> Right, but as long as gtk3 is *also* available, that's what we are going to 
>> use as AWT backend, see the code in 
>> [gtk_interface.c](https://github.com/openjdk/jdk/blob/eee6a5622dca683d4d6a701daa48e09e8d17b54e/src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c#L109).
>> I hacked around to forbid gtk3 from loading and the tests still passed (this 
>> time, without executing my changes).
>> I think gtk2 has no real notion of scale so the coordinates and size are 
>> always in screen pixels. See, for example, the documentation for 
>> [gdk_pixbuf_get_from_drawable()](https://www.manpagez.com/html/gdk2/gdk2-2.24.29/gdk2-Pixbufs.php#gdk-pixbuf-get-from-drawable).
>
> You do not need to hack the code, just add a "jdk.gtk.version" option to 
> enable specific gtk version, this is what I suggested above. to disable the 
> gtk usage in the robot the "awt.robot.gtk" can be used. So you can add that 
> to some test to check that code paths works.

Thanks for the pointers, I'll set up a separate test for that.

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

PR: https://git.openjdk.java.net/jdk/pull/7425

Reply via email to