On Wed, 10 Jul 2024 22:12:59 GMT, Alisen Chung <[email protected]> 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

Reply via email to