RFR: 8335130: The test "javax/swing/plaf/synth/ComponentsOrientationSupport/5033822/bug5033822.java" fails because the background color of the tabs is displayed incorrectly.
Abhishek Kumar
abhiscxk at openjdk.org
Mon Jul 15 04:34:00 UTC 2024
On Wed, 10 Jul 2024 22:12:59 GMT, Alisen Chung <achung 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.
>
> src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java line 977:
>
>> 975:
>> 976: // Fill the tab rect area
>> 977: g.fillRect(x, y, w, h);
>
> I see that the original fix added these lines to GTKPainter. If the fix is being moved individual L&F files is this still needed?
Yeah , it is still needed to paint the tab area correctly. Only the condition check part is being moved to individual L&F files in this PR.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20091#discussion_r1673432381
More information about the client-libs-dev
mailing list