bug6492108.java test always fails in GTK L&F in single as well as dual screen 
linux machines. Since this test was not marked as "headful" in it's initial 
version, it never failed but after the fix of JDK-8287051 this test was problem 
listed as it always
failed which is captured in the JBS.
The reason of failure is the pixel color mismatch between JEditorPane and 
JTextArea/JTextPane which is caused by the JEditorPane's default opaque value 
which is false for GTK3 
https://github.com/kumarabhi006/jdk/blob/c642f44bbe1e4cdbc23496a34ddaae30990ce7c0/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java#L767.
In initial load JEditorPane, JTextArea and JTextPane components are opaque 
https://github.com/kumarabhi006/jdk/blame/6c7656678916ff3f5c9fc70efcbb69ce76801458/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java#L718
 but after the fix for JDK-8145547 the implementation was changed to provide 
conditional support for GTK3 on linux where few components like Editor Pane, 
Formatted text Field, Password Field etc are opaque only if the GTKversion is 
not 3 
https://github.com/kumarabhi006/jdk/blame/73d2181d56063f6015e4fc42e130591bee39bc36/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java#L746C21-L746C21.
JTextPane's issue was observed by JDK-8218479 and then the default opacity is 
set to true for JTextPane irrespective of GTK version 
https://github.com/kumarabhi006/jdk/blame/c642f44bbe1e4cdbc23496a34ddaae30990ce7c0/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java#L750C16-L750C16.
Extending the fix in isOpaque() method in GTKStyle.java for JEditorPane similar 
to JTextPane resolves the issue.

Test verified in both single and dual screen linux machines.

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

Commit messages:
 - JEditorPane issue fix and test moved to open

Changes: https://git.openjdk.org/jdk/pull/19381/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19381&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8160755
  Stats: 167 lines in 2 files changed: 164 ins; 1 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/19381.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19381/head:pull/19381

PR: https://git.openjdk.org/jdk/pull/19381

Reply via email to