Apologies, noticed I broke the patch between testing and submission.
Correct and re-tested version
---
a/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKGraphicsUtils.java
+++
b/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKGraphicsUtils.java
@@ -47,34 +47,17 @@ class GTKGraphicsUtils extends SynthGraphicsUtils {
return;
}
int componentState = context.getComponentState();
- if ((componentState & SynthConstants.DISABLED) ==
- SynthConstants.DISABLED){
- if (!GTKLookAndFeel.is3()) {
- Color orgColor = g.getColor();
- g.setColor(context.getStyle().getColor(context,
- GTKColorType.WHITE));
- x += 1;
- y += 1;
- super.paintText(context, g, text, x, y, mnemonicIndex);
- g.setColor(orgColor);
- x -= 1;
- y -= 1;
- }
- super.paintText(context, g, text, x, y, mnemonicIndex);
- }
- else {
- String themeName = GTKLookAndFeel.getGtkThemeName();
- if (themeName != null &&
themeName.startsWith("blueprint") &&
- shouldShadowText(context.getRegion(),
componentState)) {
+ String themeName = GTKLookAndFeel.getGtkThemeName();
+ if (themeName != null && themeName.startsWith("blueprint") &&
+ shouldShadowText(context.getRegion(), componentState)) {
- g.setColor(Color.BLACK);
- super.paintText(context, g, text, x+1, y+1,
mnemonicIndex);
- g.setColor(Color.WHITE);
- }
-
- super.paintText(context, g, text, x, y, mnemonicIndex);
+ g.setColor(Color.BLACK);
+ super.paintText(context, g, text, x+1, y+1, mnemonicIndex);
+ g.setColor(Color.WHITE);
}
+
+ super.paintText(context, g, text, x, y, mnemonicIndex);
}
/**
On 4 November 2017 at 07:13, Michael D <m...@md-5.net> wrote:
My bad,
Patch just looks like this (bit messy because of indent change).
Thanks
Michael
---
a/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKGraphicsUtils.java
+++
b/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKGraphicsUtils.java
@@ -46,35 +46,17 @@ class GTKGraphicsUtils extends SynthGraphicsUtils {
// ignore this.
return;
}
- int componentState = context.getComponentState();
- if ((componentState & SynthConstants.DISABLED) ==
- SynthConstants.DISABLED){
- if (!GTKLookAndFeel.is3()) {
- Color orgColor = g.getColor();
- g.setColor(context.getStyle().getColor(context,
- GTKColorType.WHITE));
- x += 1;
- y += 1;
- super.paintText(context, g, text, x, y,
mnemonicIndex);
- g.setColor(orgColor);
- x -= 1;
- y -= 1;
- }
- super.paintText(context, g, text, x, y, mnemonicIndex);
- }
- else {
- String themeName = GTKLookAndFeel.getGtkThemeName();
- if (themeName != null &&
themeName.startsWith("blueprint") &&
- shouldShadowText(context.getRegion(),
componentState)) {
+ String themeName = GTKLookAndFeel.getGtkThemeName();
+ if (themeName != null && themeName.startsWith("blueprint") &&
+ shouldShadowText(context.getRegion(), componentState)) {
- g.setColor(Color.BLACK);
- super.paintText(context, g, text, x+1, y+1,
mnemonicIndex);
- g.setColor(Color.WHITE);
- }
-
- super.paintText(context, g, text, x, y, mnemonicIndex);
+ g.setColor(Color.BLACK);
+ super.paintText(context, g, text, x+1, y+1,
mnemonicIndex);
+ g.setColor(Color.WHITE);
}
+
+ super.paintText(context, g, text, x, y, mnemonicIndex);
}
/**
On 4 November 2017 at 06:39, Philip Race <philip.r...@oracle.com>
wrote:
Yes these mailing lists strip attachements
So an in-line patch .. or send directly to one of us to host it for
you on
cr.openjdk.java.net.
-phil.
On 11/3/17, 12:34 PM, Sergey Bylokhov wrote:
Hi, Michael.
It seems that the attached patch was removed from the email, can you
please provide a link to it or inline in email.
Thank you.
On 03/11/2017 03:09, Michael D wrote:
On 3 November 2017 at 21:07, Michael D <m...@md-5.net> wrote:
Hi All,
Last couple of days I've been trying to root out this bug -
https://bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1729558
which
has resulted in poor looking rendering on my machine.
It turns out that the cause of this behavior is that Swing tries
to do
its own magic disabled item rendering by turning the text white and
shifting it a pixel in each direction. I have no doubt there was
probably a good reason for this, however the file has remained
unchanged since its initial import in 2007! (Maybe someone from
Oracle
can find out more)
Removing this code (patch attached) makes disabled menu items
render
correctly in both light and dark GTK themes. Its completely
trivial,
but I've nonetheless provided the patch for context. There is also
some adjacent code that references a metacity theme called
"blueprint"
that also seems pre 2007 era, but I've left that in as I have no
idea
of its context.
Appreciate if this change / bug could be reviewed & discussed.
In the
meantime I will also forward it downstream to Ubuntu as this is
where
I encountered it / affects my usage.
Thanks
Michael