Root cause of multiple UI issues
ajit.ghaisas at oracle.com
Thu May 7 09:54:52 UTC 2020
While debugging code for - 8243476 : Image is being rendered with some offset - I fount that the call to method clipDestCoords() in MTLBlitLoops.m is either not necessary in some cases or incorrect.
Commenting it out has resulted in lot of UI issues being fixed. It fixes all below issues -
JDK-8243476 : Image is being rendered with some offset
JDK-8243546 : Nimbus L&F - SwingSet2 - Slider Demo - vertical slider is not rendered properly
JDK-8243545 : Nimbus L&F - SwingSet2 - Highlighted/Focused button has UI artifact
JDK-8243542 : Nimbus L&F - SwingSet2 - Internal Frames Demo - Frame dragging result in some artifacts. Recovers on window refresh
JDK-8242952 : Initial images are not proper in JSplitPane Demo
JDK-8242958 : Initially icons are not rendered properly in OptionPane demo with MetalLookAndFeel
JDK-8242917 : Flipping of images doesn't work properly
JDK-8242795 : Demo icons appears twice in SwingSet2 demo
JDK-8238087 : In SwingSet2 demo test bottle image is not fully rendered in the message dialog of OptionPane demo
JDK-8238088 : [macos] There is some unnecessary rendering on the SliderPane of MajorTicks and MinorTicks
Commenting out this call is not the full proof solution as there are one or two side effects especially with -Dsun.java2d.uiScale=1.0.
We need to tweak this method or it’s usage to fix all above issues.
I request either Alexey or Artem to take a look at this image rendering clip logic.
I have a draft PR if you quickly want to try out:
More information about the lanai-dev