[8u-backport] JDK-8087516 : [JavaFX] Conditional support for GTK 3 on Linux

Kevin Rushforth kevin.rushforth at oracle.com
Thu Oct 4 02:11:23 UTC 2018


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