> Our original idea of changing GLightweightPeer and creating a new class, > GtkLightweightContainerPeer, has failed. Ultimately, we came up with a > simpler solution that fixes our problem- and does not break anything > else. > > * What was changed: > - I applied Scott Gilbertson's patch, it is included. > ...
I grabbed the latest from CVS and re-ran my LightweightRepaintTest.java program. It looks much better now - thanks. I can check in my GCJ stuff now. Curiously, though, the first couple of repaints don't happen. The program puts up a frame with three fields in it. With the Sun JRE, you see: "--" "--" "--" when the frame first appears "Pass 1" "--" "--" one second later (field 1 yellow) "Pass1" "Pass 2" "--" another second later (field 2 yellow) and so on Same thing on GCJ/XLIB with the GLightweightPeer.repaint and Graphics.hitClip patches. I don't have a GCJ/GTK build handy, so I don't know what it does. With JamVM + Classpath, the first two paints don't happen, so you get a solid gray box for two seconds at startup, followed by "Pass 1" "Pass 2" "--" and so on. It's probably a separate issue, but somewhat related, I guess.