[8u-backport] JDK-8087516 : [JavaFX] Conditional support for GTK 3 on Linux
Kevin Rushforth
kevin.rushforth at oracle.com
Wed Oct 10 17:04:23 UTC 2018
Looks good. I have done full testing with both GTK 2 and GTK 3 on Ubuntu
16.04 with a sanity check on Oracle Linux.
+1 (note that you will need a second reviewer)
As a reminder of what we discussed off-line, please use "8206246" as the
bug ID when pushing this change (rather than 8087516), since this fix is
the accumulation of 20 bugs.
-- Kevin
On 10/10/2018 5:09 AM, Pankaj Bansal wrote:
> 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