This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Lightweight Components not repainting after recent Classpath merge
- From: Roman Kennke <roman at kennke dot org>
- To: Scott Gilbertson <scottg at mantatest dot com>
- Cc: java at gcc dot gnu dot org
- Date: Mon, 06 Feb 2006 22:12:26 +0100
- Subject: Re: Lightweight Components not repainting after recent Classpath merge
- References: <17c701c62b58$80513580$3c16a8c0@mantatest.com>
Hi Scott,
Am Montag, den 06.02.2006, 15:04 -0500 schrieb Scott Gilbertson:
> 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?
Have you tried resyncing with the latest Classpath sources already?
AFAIK, the latest merge is quite some time ago and I remember to have
fixed a couple of repaint related issues in Classpath's AWT code. I
tried the example of your previous email regarding AWT (the same as the
attached program?) against Classpath and that seemed to work.
I will look into your issues tomorrow when I'm back at work.
Promised :-) I was so very busy the last couple of days/weeks...
Roman