Bug 102150 RCP splashscreen stays forever in case of error
If a serious error occurs during the startup of an RCP application, like a missing plugin etc. so that the application could not start, the splash screen of the application stays for ever. This happens if the application is started by PDE using the "Run as eclipse application" menu, but the process has been stopped using the "Stop" button. I had to kill the new eclipse.exe process using the windows taskmanager.
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
* the currently active handler (if any), and add it to <code>handler</code>.
	 * If debugging is turned on, then this will also print information about
	 * the change to <code>System.out</code>.
	 * 
	 * @param handler
	 *            The new handler; may be <code>null</code> if none.
	 * @return <code>true</code> if the handler changed; <code>false</code>
	 *         otherwise.
	 */
	public final boolean setHandler(final IHandler handler) {
		if (Util.equals(handler, this.handler)) {
			return false;
		}
		
		final String[] stateIds = getStateIds();
		if (stateIds != null) {
			for (int i = 0; i < stateIds.length; i++) {
				final String stateId = stateIds[i];
				if (this.handler instanceof IObjectWithState) {
					((IObjectWithState) this.handler).removeState(stateId);
				}
				if (handler instanceof IObjectWithState) {
					final IState stateToAdd = getState(stateId);
					((IObjectWithState) handler).addState(stateId, stateToAdd);
				}
			}
		}
		
		this.handler = handler;
		string = null;