Bug 389250 - Lots of stuff leaked when closing and reopening views
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java
index bed87ab..39a1a89 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java
@@ -723,10 +723,11 @@
 				StartupMonitor startupMonitor = new StartupMonitor() {
 
 					public void applicationRunning() {
-						// splash.dispose();
 						if (background != null)
 							background.dispose();
 						registration[0].unregister(); // unregister ourself
+						if (splash != null)
+							splash.dispose();
 						WorkbenchPlugin.unsetSplashShell(display);
 
 						// fire part visibility events now that we're up
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/splash/BasicSplashHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/splash/BasicSplashHandler.java
index ec88b17..d5a6ce9 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/splash/BasicSplashHandler.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/splash/BasicSplashHandler.java
@@ -186,9 +186,9 @@
 	 * @see org.eclipse.ui.splash.AbstractSplashHandler#dispose()
 	 */
 	public void dispose() {
-		super.dispose();
 		if (foreground != null)
 			foreground.dispose();
+		super.dispose();
 	}
 
 	/**