| Summary: | Unable to start e4: NPE in MenuManagerRenderer | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] e4 | Reporter: | Oleg Besedin <ob1.eclipse> | ||||
| Component: | UI | Assignee: | Project Inbox <e4.ui-inbox> | ||||
| Status: | RESOLVED INVALID | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | ob1.eclipse, remy.suen | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Here is what happens in the MenuManagerRenderer#processRenderedItem():
void processRenderedItem(MenuManager parentManager, MRenderedMenuItem itemModel) {
<<<= itemModel is org.eclipse.debug.ui.actions.BreakpointTypesContribution
...
ici = null
...
Object obj = itemModel.getContributionItem(); <<<= obj here is ExtensionPointProxy
if (obj instanceof IContextFunction) { <<<= false
ici = ...
} else if (obj instanceof IContributionItem) { <<<= false
ici = ...
}
ici.setVisible(itemModel.isVisible()); <<<= NPE here
...
}
The debug output: Failed to load MRenderedMenuItem org.eclipse.e4.ui.model.application.ui.menu.impl.RenderedMenuItemImpl@dc6007 (elementId: org.eclipse.debug.ui.actions.BreakpointTypesContribution, tags: null) (widget: null, renderer: null, toBeRendered: true, onTop: false, visible: true, containerData: null, accessibilityPhrase: null) (label: null, iconURI: null, tooltip: null, localLabel: null, localTooltip: null, localImage: null, enabled: true, selected: false, type: Push) (mnemonics: null) (contributionItem: org.eclipse.e4.ui.internal.workbench.ExtensionPointProxy@1c118ae) org.eclipse.e4.ui.internal.workbench.ExtensionPointProxy@1c118ae OK, we're having some ... PDE hiccups :-) PW Sorry, turns out somehow I got in a state where org.eclipse.ui.workbench was not picked up from my workspace. |
Created attachment 183041 [details] Full stack Using the current code from Head when trying to lauch e4 SDK instance results in NPE: MenuManagerRenderer.processRenderedItem(MenuManager, MRenderedMenuItem) line: 649 MenuManagerRenderer.modelProcessSwitch(MenuManager, MMenuElement) line: 611 MenuManagerRenderer.processMenu(MenuManager, MMenu) line: 596 MenuManagerRenderer.modelProcessSwitch(MenuManager, MMenuElement) line: 626 MenuManagerRenderer.processMenu(MenuManager, MMenu) line: 596 MenuManagerRenderer.modelProcessSwitch(MenuManager, MMenuElement) line: 626 MenuManagerRenderer.processContents(MElementContainer<MUIElement>) line: 568 PartRenderingEngine.createGui(MUIElement, Object, IEclipseContext) line: 490 WorkbenchWindow.setup() line: 535