RFR: 8335130: The test "javax/swing/plaf/synth/ComponentsOrientationSupport/5033822/bug5033822.java" fails because the background color of the tabs is displayed incorrectly.
Damon Nguyen
dnguyen at openjdk.org
Tue Jul 16 19:46:53 UTC 2024
On Tue, 9 Jul 2024 06:13:15 GMT, Abhishek Kumar <abhiscxk at openjdk.org> wrote:
> Issue is due to the condition added for the opaque property of SynthTabbedPane in [JDK-8226990](https://bugs.openjdk.org/browse/JDK-8226990). The previous fix for GTK and Nimbus was handled commonly in `SynthTabbedPaneUI` class to render the tabs based on opaque property. Since the Synth package is responsible to create a custom L&F using user defined XML file. In this test the L&F is fetched through the XML file and when `SynthTabbedPaneUI` APIs are invoked for the tab rendering, it is not correctly rendered. Setting the opaque property to true also doesn't help as the selected tab is rendered incorrectly. The proposed fix is to move the fix to GTK and Nimbus specific class and that will not cause any impact on custom xml based L&F.
I get that the previous issue adds `tabsOpaque` as a fix to check before applying some logic. I also understand that this breaks custom LAFs (synth) so moving the fix to GTK & Nimbus seems fair to move it out of Synth.
But why does this only apply to custom LAFs? What does Nimbus and GTK do differently? Because I'm assuming the fix was for all 3 before, but now you're just removing the fix from Synth and applying it to GTK & Nimbus.
-------------
PR Review: https://git.openjdk.org/jdk/pull/20091#pullrequestreview-2181175165
More information about the client-libs-dev
mailing list