United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6558510 Flickering upon resize on X11 platforms
6558510 : Flickering upon resize on X11 platforms

Details
Type:
Bug
Submit Date:
2007-05-17
Status:
Closed
Updated Date:
2011-03-07
Project Name:
JDK
Resolved Date:
2011-03-07
Component:
client-libs
OS:
solaris
Sub-Component:
java.awt
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
7

Related Reports
Backport:
Relates:
Relates:

Sub Tasks

Description
6333613 describes flickering when using the JOGL Java / OpenGL binding on Java SE 6. It turns out that when running a window manager that supports live resizing, such as the Java Desktop System on Solaris/x86, the same basic problem is present in the X11 AWT implementation.

Please provide an implementation in sun.awt.X11.XToolkit which overrides disableBackgroundErase(Canvas) and does the same thing that the Windows AWT implementation does in sun.awt.windows.WToolkit.

This has been pointed out recently on the JOGL forum at javagaming.org, so it is affecting end users. Please backport any fix to at least the Java 6 update release train.

                                    

Comments
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.
                                     
2007-06-07
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.
                                     
2007-05-21
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.
                                     
2007-05-21
EVALUATION

A test that can be used to reproduce the problem is attached.
                                     
2007-05-21



Hardware and Software, Engineered to Work Together