-
Bug
-
Resolution: Not an Issue
-
P2
-
None
-
7
-
generic
-
generic
The splash screen of size less than 90x90px is not shown by the java launcher in Linux/Solaris using GNOME desktop environment with 16-bit color depth scheme. Only explicit invocation of update() makes the splash screen appear. It does not matter how many time passes before the update method is invoked.
If the size of an image is 90x90px or more in the same context, the splash screen is shown as expected.
The splash screen appears for the 89x89px image if one of the following context changes happen:
- GNOME -> not GNOME
- 16-bit color depth -> 24-bit
The following code helps to observe the splash screen start failure:
System.out.println("Sleeping for " + sleepms + "ms...");
sleep(sleepms);
SplashScreen ss = SplashScreen.getSplashScreen();
System.out.println("createGraphics()");
ss.createGraphics();
sleep(1000);
System.out.println("update()");
ss.update(); // Splash screen appears at this point
sleep(2000);
System.out.println("ending in 1sec");
sleep(1000);
The sample code is attached.
For your convenience I also attach the bundled jars containing the image and the code:
* test-89x89.jar - contains an image of size 89x89px
* test-90x90.jar - contains an image of size 90x90px
Invoke as follows:
> java -jar test-NNxNN.jar [sleepms in seconds; default: 5]
Reproduced in the following configurations:
- openSuSe 11.2 + GNOME
- Ubuntu 10.04 + GNOME
- Solaris 10 x64 + GNOME
If the size of an image is 90x90px or more in the same context, the splash screen is shown as expected.
The splash screen appears for the 89x89px image if one of the following context changes happen:
- GNOME -> not GNOME
- 16-bit color depth -> 24-bit
The following code helps to observe the splash screen start failure:
System.out.println("Sleeping for " + sleepms + "ms...");
sleep(sleepms);
SplashScreen ss = SplashScreen.getSplashScreen();
System.out.println("createGraphics()");
ss.createGraphics();
sleep(1000);
System.out.println("update()");
ss.update(); // Splash screen appears at this point
sleep(2000);
System.out.println("ending in 1sec");
sleep(1000);
The sample code is attached.
For your convenience I also attach the bundled jars containing the image and the code:
* test-89x89.jar - contains an image of size 89x89px
* test-90x90.jar - contains an image of size 90x90px
Invoke as follows:
> java -jar test-NNxNN.jar [sleepms in seconds; default: 5]
Reproduced in the following configurations:
- openSuSe 11.2 + GNOME
- Ubuntu 10.04 + GNOME
- Solaris 10 x64 + GNOME
- relates to
-
JDK-7029903 Splash screen is not shown in 64-bit Linux with 16-bit color depth
- Closed