Bug 283649 View menus cannot be rendered, throws IAE
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/SWTPartRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/SWTPartRenderer.java
index bc4c7fc..94dc8e8 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/SWTPartRenderer.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/SWTPartRenderer.java
@@ -50,6 +50,7 @@
 import org.eclipse.swt.widgets.Menu;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.ToolBar;
+import org.eclipse.swt.widgets.ToolItem;
 import org.eclipse.swt.widgets.Widget;
 
 public abstract class SWTPartRenderer extends AbstractPartRenderer {
@@ -62,7 +63,10 @@
 
 		MenuManager manager = new MenuManager();
 
-		if (widget instanceof Decorations) {
+		if (widget instanceof ToolItem) {
+			swtMenu = manager.createContextMenu(((ToolItem) widget).getParent()
+					.getShell());
+		} else if (widget instanceof Decorations) {
 			swtMenu = manager.createMenuBar((Decorations) widgetObject);
 			swtMenu.setData(manager);
 			((Decorations) widget).setMenuBar(swtMenu);