EVALUATION
To implement the fix in a good manner, I suggest moving the code from WToolkit to SunToolkit and reuse it in XToolkit. I also think we should try to support changing the value of the property "sun.awt.noerasebackground" on-the-fly, i. e. each time the canvas peer is created, the value of the property should be re-read.
|
|
|
EVALUATION
Currently, on Windows platform, background cleaning for java.awt.Canvas may be turned off with two ways: call to SunToolkit.disableBackgroundErase() and system property sun.awt.noerasebackground. I feel we need to add support for both, in XToolkit.
|
|
|
EVALUATION
I haven't found any place in our code (shared/AWT, shared/Java2D, X11/classes/XAWT, X11/classes/Java2D, X11/native/Java2D, X11/native/XAWT) where the canvas backround is painted. So it seems this performed by X server or somewhere very deep in our code. However, I have noticed that removing the call to XSetWindowBackground does solve the problem.
|
|
|
EVALUATION
A test that can be used to reproduce the problem is attached.
|
|
|
|