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);