Bug 390586 - [Performance] (sub-) action bars not disposed

Closing the view should dispose its actionbars.
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorSite.java
index fb32ad8..9bf896c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorSite.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorSite.java
@@ -129,6 +129,7 @@
         
         if (ab != null) {
             ab.dispose();
+			ab = null;
         }
     }
     
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewSite.java
index cb005c0..770719b 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewSite.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewSite.java
@@ -12,11 +12,11 @@
 
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.ToolBarManager;
+import org.eclipse.ui.IActionBars;
 import org.eclipse.ui.IViewSite;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchPartReference;
+import org.eclipse.ui.SubActionBars;
 import org.eclipse.ui.internal.e4.compatibility.ActionBars;
 
 /**
@@ -48,10 +48,9 @@
 
 	@Override
 	public void dispose() {
-		getActionBars().getMenuManager().dispose();
-		IToolBarManager manager = getActionBars().getToolBarManager();
-		if (manager instanceof ToolBarManager) {
-			((ToolBarManager) manager).dispose();
+		final IActionBars actionBars = getActionBars();
+		if (actionBars instanceof SubActionBars) {
+			((SubActionBars) actionBars).dispose();
 		}
 		super.dispose();
 	}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/e4/compatibility/ActionBars.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/e4/compatibility/ActionBars.java
index 44810de..5c203f1 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/e4/compatibility/ActionBars.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/e4/compatibility/ActionBars.java
@@ -168,4 +168,18 @@
 				: parent != null;
 	}
 
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.ui.SubActionBars#dispose()
+	 */
+	@Override
+	public void dispose() {
+		menuManager.dispose();
+		if (toolbarManager instanceof ToolBarManager) {
+			((ToolBarManager) toolbarManager).dispose();
+		}
+		super.dispose();
+	}
+
 }