On Mon, 2 Aug 2021 21:53:02 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:

>> Yes, and we need this call here to initialise content view with correct 
>> default value
>> CPlatformWindow.java:931 contentView.setWindowLayerOpaque(isOpaque);
>
> I need to look at it closely, I do not understand why we made the native 
> layer opaque=NO by default while the java code uses opaque=true by default. 
> And then we reset the native code from NO to yes by the code above. Why we 
> cannot make both native/java use true/YES and when necessary it will be reset 
> to false/NO by the existing code(via LWWindowPeer.setOpaque() and 
> LWWindowPeer.updateOpaque?)
> BTW Probably implementation of LWWindowPeer.setTextured() should call the 
> updateOpaque() as well.

Yes, sounds reasonable. Moreover, It was my initial attempt but I faced with 
some regressions in SwingSet2 demo. In some cases background of tree nodes  
become black and this artifact was reproducible only if some other tabs were 
clicked before.  It was hot time for jdk17 so I decided not to fight with this 
regression. Now we have more time, so I can spend more time on this.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4946

Reply via email to