JDK-6290240 : Fullscreen window is not restored properly when restoring it frome Exclusive Mode to Normal Mode
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6
  • Priority: P3
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: generic
  • CPU: generic
  • Submitted: 2005-06-24
  • Updated: 2011-01-19
  • Resolved: 2010-11-16
Related Reports
Relates :  
Description
Java Version: mustang-b24 and later b40, b41
Platforms: solaris 10(sunblade2500) and SuSE9.3

Problems:
On a single Monitor setup, when running a sample code( The code is to test: 
1. Creates a Frame using GD1. Pushes it to FS mode on GD1 itself. Checks whether the frame appears on GD1 and size of the frame is same as size of the GD1.  
2. Restores the FS frame to normal and checks whether it's original size and location are restored.)as attached by using b24 and b40, b41,
I got an error message, but tiger fcs b64 and early mustang b23 and b20 are fine with the same code and same machines.

The errors I got as followings: 
JFrame's actual size and location are not restored properly when restoring it from FullScreen Exclusive Mode to Normal Mode on GD: X11GraphicsDevice[screen=0] for GC: X11GraphicsConfig[dev=X11GraphicsDevice[screen=0],vis=0x23].

There is a similar bug 5100260, but that one is not reproducible when you call setVisible(), but this failure is reproducible.

How to reproduce:
1. Run the sample code FrameFullScreenTest by mustang build b24 or later.
2. You will see the error message saying the restoring is not same.

The origial test writen by Praveen, I just modified for standalone and only run the failing scenario.

The machine information as following:
SunOS d2-sunburst 5.10 Generic_118822-04 sun4u sparc SUNW,Sun-Blade-2500

Getting the X server patch revision..
Latest X Server Patch Revision: -27
------- Hardware --------
Number of cpus: 1
Operating at  : 1600  Mhz
Swap info     : total: 239944k bytes allocated + 26064k reserved = 266008k used, 3469912k available
Memory size   : 2048 Mb
Shared Memory : SHMSEG= SHMMNI= SHMMAX= SHMMAX= SHMTOT=
--------- Video ---------

--- Hardware Configuration for /dev/fbs/jfb0 ---

Type: XVR-1200
Sun Serial Number: 3753101011732
Hardware Revision: -04 rev50
Manufacture Date: Mon Feb 21 06:27:04 2005
PROM Information: @(#)jfb.fth 1.10 03/04/03 SMI 

Monitor/Resolution Information:
   EDID Data: Available - EDID version 1 revision 3
   Monitor type: DEL product code 16385 S/N 1110520115 DOM 21W/2004
   Current resolution setting: 1280x1024x60
   Monitor possible resolutions: 1024x768x60, 1024x768x75, 1280x1024x60, 
   1280x1024x75, 640x480x60, 800x600x75

Framelock Configuration:
   Slave Mode: Disabled

Memory Information:
   Total Video Memory: 134217728
   Video Memory Used: 31457280
   Total Texture Memory: 268435456
   Texture Memory Used: 0
   Total Display List Memory: 33554432


--- Hardware Configuration for /dev/fbs/jfb0a ---

Type: XVR-1200
Sun Serial Number: 3753101011732
Hardware Revision: -04 rev50
Manufacture Date: Mon Feb 21 06:27:04 2005
PROM Information: @(#)jfb.fth 1.10 03/04/03 SMI 

Monitor/Resolution Information:
   EDID Data: Available - EDID version 1 revision 3
   Monitor type: DEL product code 16385 S/N 1110520115 DOM 21W/2004
   Current resolution setting: 1280x1024x60
   Monitor possible resolutions: 1024x768x60, 1024x768x75, 1280x1024x60, 
   1280x1024x75, 640x480x60, 800x600x75

Framelock Configuration:
   Slave Mode: Disabled

Memory Information:
   Total Video Memory: 134217728
   Video Memory Used: 31457280
   Total Texture Memory: 268435456
   Texture Memory Used: 0
   Total Display List Memory: 33554432

NOTICE:  jfb0 is currently configured to run in single output mode,
         hence you cannot query/configure the second output.
         Either start the window system on jfb0a and jfb0b or configure
         jfb0 to run in doublewide mode before querying.
SUNWjfb_config: cannot open device /dev/fbs/jfb0b


###@###.### 2005-06-24 00:10:02 GMT

Per Chris Campbell, I attached the files and run the code with -Dawt.toolkit=sun.awt.motif.MToolkit using b45, the errors are gone.
Looks like it works for MAWT and fails with XAWT since b24.

Comments
EVALUATION The failure isn't reproducible with latest jdk7 build. As per previous comment, apparently it's been fixed in a mustang build.
16-11-2010

EVALUATION The window's size is actually changed from (200, 200) to (198,199). This minor insets problem is probably fixed in munstang b49 or b51. Unable to test is until 6325718 is fixed.
20-09-2005

EVALUATION Actually, the 2D team did not integrate into b24, which is when this testcase started failing, so it is unrelated to the Linux fullscreen changes (those were integrated in b39). The one relevant change that was integrated into b24 was enabling XAWT by default on Solaris. We have verified that this testcase passes (even on recent Mustang builds) if you specify -Dawt.toolkit=sun.awt.motif.MToolkit, so it appears that this is only an issue for XAWT. Transferring to the AWT team for further evaluation.
01-08-2005

EVALUATION Reassigning to engineer who made a mistake of implementing fullscreen functionality on solaris/linux.. ###@###.### 2005-07-09 02:41:51 GMT
09-07-2005