<Swing Dev> Questionable Rendering of Disabled Text

Michael D me at md-5.net
Fri Nov 3 20:13:05 UTC 2017


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.race at 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 <me at 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
>>
>>
>>
>



More information about the swing-dev mailing list