This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Lightweight Components not repainting after recent Classpath merge


With an older GCJ build, or with the Sun JRE, the attached program works
fine -- you'll see a yellow box move along, with the text changing under it,
as three lightweight components repaint in succession.  With my Jan 24 build
from svn, using both xlib and gtk peers, the boxes only repaint if you do
something to force the entire frame to repaint (like re-sizing it).

The problem appears to be in the Classpath code:
gnu.java.awt.peer.GLightweightPeer.repaint needs to do what
java.awt.Component.repaint used to do.  Something like:

  public void repaint(long tm, int x, int y, int width, int height)
  {
    Component p = comp.getParent ();
    if (p != null)
      p.repaint(0, x + comp.getX(), y + comp.getY(), width, height);
  }

Should I bundle it in with my (hopefully) upcoming "get xlib peers working
again" commit, submit it as a separate patch, or let a Classpath hacker take
care of it?

Attachment: LightweightRepaintTest.java
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]