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.
JDK 8
8u202 inapplicableFixed
Related Reports
Cloners :  
Cloners :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
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
Comments
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.
12-10-2018

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

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
12-10-2018

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

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/
10-10-2018

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.
05-10-2018

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/
03-10-2018

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

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.
08-08-2018

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.
05-07-2018

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