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