Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 327152

Summary: showsplash option is ignored
Product: [Eclipse Project] Equinox Reporter: Samuel Wu <samuelwu>
Component: LauncherAssignee: Project Inbox <equinox.launcher-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3 CC: aniefer, michael.pellaton, tjwatson
Version: unspecified   
Target Milestone: Juno M2   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
workspace none

Description Samuel Wu CLA 2010-10-06 14:12:37 EDT
Build Identifier: Eclipse 3.6.1

The option -showsplash can be used in eclipse.ini and as command operand to change the splash screen. It doesn't work any more



Reproducible: Always

Steps to Reproduce:
1. Start eclipse sdk 3.6.1 
2. Create a feature and a branding plugins which contains a splash screen
3. Build an update site and install this feature
4. Change the -showsplash in eclipse.ini to point to the branding plugin which contains the splash screen
5. Restart eclipse and the old splash screen is shown
6. Add -showsplash to the command to start eclipse, the old splash screen is shown
7. When the osgi.splashPath in config.ini is removed, there is no splash screen.
Comment 1 Samuel Wu CLA 2010-10-06 14:15:08 EDT
Created attachment 180363 [details]
workspace 

I'm attaching my workspace which contains the update site for your convenience.
Comment 2 Andrew Niefer CLA 2010-10-06 14:29:57 EDT
Make sure the branding plugin is a folder not a jar.  The -showplash can not read splash bitmaps out of a jar.
Comment 3 Samuel Wu CLA 2010-10-06 14:41:56 EDT
Here is the plugin entry in my feature.xml. It's not a jar.
  <plugin id="com.ent.customized.toolkit.branding" download-size="0" install-size="0" version="3.6.0.01" />
Comment 4 Samuel Wu CLA 2010-10-13 11:18:59 EDT
Has anyone got a chance to look at it?
Comment 5 Thomas Watson CLA 2010-11-02 16:32:22 EDT
Moving to launcher, but not sure if this is really PDE related or not, or a configuration issue.
Comment 6 Andrew Niefer CLA 2011-05-26 15:48:35 EDT
Problem here is tied to how the vm ends up being started.  The steps above work for me using
-showsplash
com.ent.customized.toolkit.branding
if the vm is started using JNI invocation API, but things don't work when the vm is forked in a second process.


The splash screen is shown by the process that actually ends up running eclipse.  So if the vm is going to be started in-process then the launcher can show the splash screen before starting the vm.  In this case we find the bitmap, display it and pass the location into java.

If the vm is being forked, the launcher never scans for the bitmap, it only passes "-showsplash" (without the bitmap location) to java.  In this case, Main is responsible for showing the splashscreen and it ends up consulting osgi.splashPath.


The workaround is to modify the config.ini and change osgi.splashPath to agree with -showsplash.

The fix is probably for the launcher to always search for the bitmap and pass it to Main. 
 A secondary change would be if Main sees a -showsplash with just a plugin name (com.ent.customized.toolkit.branding), then it should probably do the same kind of search the launcher would do (today it expects a full path and fails otherwise).
Comment 7 Thomas Watson CLA 2011-06-08 11:30:46 EDT
Move all 3.8 bugs to Juno.
Comment 8 Andrew Niefer CLA 2011-08-30 15:36:35 EDT
I have released a change for the native launcher to always search for the splash bitmap and pass it in to java regardless of the vm invocation method.  I raised bug 356246 for the secondary change of having Main also do the search if necessary.

Binaries still need to be compiled.
Comment 9 Andrew Niefer CLA 2011-08-30 15:47:38 EDT
*** Bug 328765 has been marked as a duplicate of this bug. ***
Comment 10 Andrew Niefer CLA 2011-09-01 17:31:53 EDT
binaries have been recompiled