JDK-8206246 : [JavaFX] Backport GTK3 support on Linux to 8u
  • Type: Enhancement
  • Component: javafx
  • Sub-Component: window-toolkit
  • Affected Version: 8
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: linux
  • CPU: generic
  • Submitted: 2018-07-03
  • Updated: 2018-10-31
  • Resolved: 2018-10-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
8u202 inapplicableFixed
Related Reports
Cloners :  
Cloners :  
Relates :  
Relates :  
Relates :  
Relates :  
GTK3 support on Linux has been implemented using JEP 283: JDK-8145568

This task is created to capture the estimate including test need and implement it in 8u for FX. JDK-8207322 is ttracking the similar task for client-libs.

The implementation of the JEP was done using the following JBS issue: JDK-8087516
I cloned a new issue, JDK-8207322, to track this. It will need resolution of the OL 6 build issues before it can be pushed.

Marking as "fix failed" since it broke the build and will be backed out by JDK-8212139.

Changeset: 02603f9df275 Author: pbansal Date: 2018-10-12 05:39 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/02603f9df275 8206246: [JavaFX] Backport GTK3 support on Linux to 8u Summary: Backport JDK-8159892 plus 20 follow-on fixes to FX 8u Reviewed-by: kcr, jvos

Approved to push to 8u-dev for 8u202 once the review is done. +1 (note that you will need a second reviewer)

Review thread: http://mail.openjdk.java.net/pipermail/openjfx-dev/2018-October/022603.html Updated webrev: http://cr.openjdk.java.net/~pbansal/gtk3_JFX_backport/webrev.01/

Note that we will use this JBS bug ID (JDK-8206246) to push the 8u backport of the GTK 3 support including all of the bug fixes listed in the previous comment.

Please review the patch for 8u-dev backport. 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 webrev: http://cr.openjdk.java.net/~pbansal/gtk3_JFX_backport/webrev.00/

Yes, exactly. Just remember to use the main bug ID and not the backport ID in the hg changeset comment and review messages.

This task is only for evaluation of the backport changes. I think this task should be closed & we should create a Backport bug of JDK-8087516 for actual implementation.

I took a try to merge the path fix of JDK-8087516 with 8u http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/8c6d0386d3f5 The patch could be merged without any conflicts. The build was successful. Next step would be to merge the GTK3 fixes from 9 to 8u dev & test the build, with system test & sanity, toys... apps. Test using flag, -Djdk.gtk.version=3 * & -verbose for more information Estimate: 1. In a normal scenario when no new issues introduce with this change then the overall merge, test, review should take -> 2 weeks. 2. In case this merge introduces any new issues, more time would be needed as per the complexity of issues.

JDK-8087516 was used to implement GTK3 support in 9.