Menu

#5780 Dark button text on StendhalFirstScreen on Java 1.8

None
open
nobody
None
5
2015-04-09
2014-05-02
No

After I updated to Ubuntu 14.4, the button text on the StendhalFirstScreen is dark and hard to read. It only happens with Oracle Java 1.8. I did not notice this before the Ubuntu update.

1 Attachments

Discussion

  • Kimmo Rundelin

    Kimmo Rundelin - 2014-05-07

    I can reproduce this, but only when using the xrender pipeline. X11 and OpenGL work as intended. The drawing is done by:

    - StyledButtonUI.paintText()
    - BasicButtonUI.paintText()
    - SwingUtilities2.drawStringUnderlineCharAt()
    

    and the painting colour is set by BasicButtonUI.paintText() and not changed afterwards, so it should be the same for the text and the underline. (And printing it before and after the paint claims white for both). Curiously enough, the colouring is correct if I open the login dialog and then close it, so that the splash screen buttons get disabled and then re-enabled. Still, I have no better guesses than a bug somewhere lower in the drawing stack.

     
  • Kimmo Rundelin

    Kimmo Rundelin - 2014-09-08
    • Group: -->
     
  • Kimmo Rundelin

    Kimmo Rundelin - 2014-09-08

    This has been confirmed a bug in the xrender pipeline. https://bugs.openjdk.java.net/browse/JDK-8054638
    I'll leave the bug open for now, while buggy java versions are still in wide circulation.

     
  • AntumDeluge

    AntumDeluge - 2015-03-09

    I too have experienced this with Java 8 on FreeBSD. So far I have not had issues on Windows.

    As a note, I can get the text to light up if I press one of the buttons to make the main window lose focus, then go back to the main window.

     
  • AntumDeluge

    AntumDeluge - 2015-04-09

    I can confirm that the color is correct on construction of the components.

    How do I enable X11? I know
    OpenGL is sun.java2d.opengl="True"
    xrender is sun.java2d.xrender="True"
    Direct3D is sun.java2d.d3d="True"

    But Kimmo mentioned an X11 pipeline as well. sun.java2d.x11="True", sun.java2d.X11="True", and sun.java2d.xorg="True" don't seem to do anything.

     

    Last edit: AntumDeluge 2015-04-09
  • Kimmo Rundelin

    Kimmo Rundelin - 2015-04-09

    It at least used to be possible to do that with -Dsun.java2d.xrender=false, but since that prints nothing, and the bug is fixed in recent OpenJDK 8 versions, I can't verify it now. The bug was specific to the XRender backend, and appeared in java 8, so older versions and windows was never affected.

    Anyway, for this bug we just wait. The bug is not in Stendhal, but in jre 8. It's also already fixed, distributors just need to start shipping fixed versions. Currently I know the one included in Fedora 21 is fixed, I don't know about other distributions.

     
  • AntumDeluge

    AntumDeluge - 2015-04-09

    There's probably an update available for my FreeBSD system, I just haven't applied it yet.

     

Anonymous
Anonymous

Add attachments
Cancel