[8u-backport] JDK-8087516 : [JavaFX] Conditional support for GTK 3 on Linux
Pankaj Bansal
pankaj.b.bansal at oracle.com
Wed Oct 10 12:09:18 UTC 2018
Hi Kevin,
Thanks for review and the information provided.
I have updated the webrev for the proposed change from RTLD_GLOBAL to RTLD_LOCAL in launcher.c. Along with the this change, the new patch also includes the backport of two more fixes mentioned below. So now we have backported total of 20 bugs.
19. JDK-8171985: Fx applet fails to get loaded on Ubuntu with jre9-b150
20. JDK-8171928: Build fails on Oracle Linux 7 with unused parameter warning
I have tested it on all three platforms (Windows 10, Linux (Ubuntu 18.4 LTS, Ubuntu 16.04 LTS) and and Mac) and no new test failures are found. I have tested the "HelloWebView" and "Ensemble" and I don't see any issue. I did some sanity testing on OL 7.5 as well and things look good to me.
Webrev:
http://cr.openjdk.java.net/~pbansal/gtk3_JFX_backport/webrev.01/
Regards,
Pankaj
-----Original Message-----
From: Kevin Rushforth
Sent: Thursday, October 4, 2018 7:41 AM
To: Pankaj Bansal; openjfx-dev at openjdk.java.net
Subject: Re: [8u-backport] JDK-8087516 : [JavaFX] Conditional support for GTK 3 on Linux
I debugged this offline earlier today, and it looks related to a collision in the glib library. As I mentioned offline, a possible solution is to remove RTLD_GLOBAL from the dlopen of the libglassgtk{2,3}.so library. I was able to do a full build / test on both GTK 2 and GTK 3 including media and webkit with that modification.
Overall, this is looking quite good.
One more thing: the patch adds several new tests, so you will need to run at least the new tests on all three platforms (a quick check on Mac shows a couple failures).
I also see a couple differences between jfx-dev and 8u-dev in the native code that should be looked into to make sure there wasn't a missed fix on the backport (the Hi-DPI diffs are expected, but I see a couple others).
-- Kevin
On 10/3/2018 10:16 AM, Kevin Rushforth wrote:
> My initial testing shows a couple problems which will need to be
> resolved:
>
> 1) I get many GTK warnings relating to Pango when running HelloWebView
> 2) Running any program that uses media crashes
>
> This is on Ubuntu 16.04 LTS using the default GTK 2 mode.
>
> -- Kevin
>
>
> On 10/3/2018 3:26 AM, Pankaj Bansal wrote:
>>
>> Hi All,
>>
>> Please review the patch for 8u-dev backport for JDK-8087516
>> <https://bugs.openjdk.java.net/browse/JDK-8087516>. It adds
>> conditional support for gtk3.
>>
>> Along with the enhancement, following bug fixes have also been
>> included in the backport webrev
>>
>> 1.https://bugs.openjdk.java.net/browse/JDK-8159892: [GTK3] invalid
>> rendering of FX app stage in case of scaling
>>
>> 2.https://bugs.openjdk.java.net/browse/JDK-8163496: Rework Glass GTK
>> to correct gtk3 structure sizes
>>
>> 3.https://bugs.openjdk.java.net/browse/JDK-8145837: Remove deprecated
>> GTK2 calls in JavaFX
>>
>> 4.https://bugs.openjdk.java.net/browse/JDK-8165562: Upgrade to newer
>> version of SWT for build/test
>>
>> 5.https://bugs.openjdk.java.net/browse/JDK-8171330: Issues with
>> transparent stage and GTK
>>
>> 6.https://bugs.openjdk.java.net/browse/JDK-8171976: Linux: JavaFX
>> window not painted with background when using GTK 3
>>
>> 7.https://bugs.openjdk.java.net/browse/JDK-8166414: Scene returns
>> incorrect coordinates
>>
>> 8.https://bugs.openjdk.java.net/browse/JDK-8166147: Ubuntu 16.04:
>> expandable content goes outside of the alert dialog
>>
>> 9.https://bugs.openjdk.java.net/browse/JDK-8152421: After initing the
>> modality of a non-primary stage to MODAL, closing that stage causes
>> the primary stage to become non-resizable
>>
>> 10.https://bugs.openjdk.java.net/browse/JDK-8090249: [Linux]
>> Restoring owner stage after minimize does not restore position of
>> child stage
>>
>> 11.https://bugs.openjdk.java.net/browse/JDK-8173901: Linux: Position
>> of Stage is not restored after exiting full screen
>>
>> 12.https://bugs.openjdk.java.net/browse/JDK-8175204: Linux: Dialog
>> windows come up 1-pixel wide
>>
>> 13.https://bugs.openjdk.java.net/browse/JDK-8175205: Linux: Stage
>> initially in full-screen mode not shown when exiting full-screen
>>
>> 14.https://bugs.openjdk.java.net/browse/JDK-8175822: Pulldown
>> position regression and not painting correctly tooltips regression
>>
>> 15.https://bugs.openjdk.java.net/browse/JDK-8176844: Menus not always
>> selected properly with GTK 3
>>
>> 16.https://bugs.openjdk.java.net/browse/JDK-8172219: Allow compiling
>> without GTK 3.0 being installed
>>
>> 17.https://bugs.openjdk.java.net/browse/JDK-8157002 Toggle gtk
>> version if SWT used via FXCanvas
>>
>> 18.https://bugs.openjdk.java.net/browse/JDK-8156491: Autodetect GTK
>> version for JFX
>>
>> The original gtk3 backport patch applied cleanly, but the bugs did
>> not apply cleanly. So a review is required.
>>
>> I have run the full gradle tests on Ubuntu 14.04 LTS, Ubuntu 16.04
>> LTS, Ubuntu 18.04 and have done sanity testing on Oracle Linux 7.5.
>>
>> webrev:
>> http://cr.openjdk.java.net/~pbansal/gtk3_JFX_backport/webrev.00/
>>
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8087516
>>
>> JDK 9 Changeset:
>> http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/8c6d0386d3f5
>>
>> Regards,
>>
>> Pankaj
>>
>
More information about the openjfx-dev
mailing list