Lightweight Components not repainting after recent Classpath merge

Scott Gilbertson scottg@mantatest.com
Mon Feb 6 20:01:00 GMT 2006


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?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LightweightRepaintTest.java
Type: application/octet-stream
Size: 2755 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/java/attachments/20060206/a1248108/attachment.obj>


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /