| Summary: | [Compatibility] NPE with GEF editor | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Yves YANG <yves.yang> | ||||
| Component: | UI | Assignee: | Remy Suen <remy.suen> | ||||
| Status: | VERIFIED FIXED | QA Contact: | Remy Suen <remy.suen> | ||||
| Severity: | blocker | ||||||
| Priority: | P3 | ||||||
| Version: | 4.1 | ||||||
| Target Milestone: | 4.2 M1 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 350459 | ||||||
| Attachments: |
|
||||||
Created attachment 198658 [details]
MenuHelper patch v1
Correct the passing of the bad parameter and also added extra code to return early if another code path elsewhere tries to do the same thing.
(In reply to comment #1) > Created attachment 198658 [details] > MenuHelper patch v1 Patch released to CVS HEAD, thank you very much for the bug report, Yves! (In reply to comment #2) > (In reply to comment #1) > > Created attachment 198658 [details] [details] > > MenuHelper patch v1 > > Patch released to CVS HEAD, thank you very much for the bug report, Yves! You are welcome. It seems the icons of alignment are missing in my environment. Have you observed the same? (In reply to comment #4) > It seems the icons of alignment are missing in my environment. Have you > observed the same? If you mean the editor's icons have been replaced by text, then yes, I am seeing this. This is a separate bug. Verified with M20110817-2001 on Windows XP. |
I met a NPE exception with GEF using eclipse-SDK-4.1-Win32: java.lang.NullPointerException at org.eclipse.ui.internal.commands.CommandImageManager.getImageDescriptor(CommandImageManager.java:274) at org.eclipse.ui.internal.commands.CommandImageManager.getImageDescriptor(CommandImageManager.java:237) at org.eclipse.ui.internal.commands.CommandImageService.getImageDescriptor(CommandImageService.java:125) at org.eclipse.ui.internal.menus.MenuHelper.getIconURI(MenuHelper.java:898) at org.eclipse.ui.internal.menus.MenuHelper.createToolItem(MenuHelper.java:723) at org.eclipse.ui.internal.CoolBarToTrimManager.fill(CoolBarToTrimManager.java:638) at org.eclipse.ui.internal.CoolBarToTrimManager.update(CoolBarToTrimManager.java:584) at org.eclipse.ui.internal.WorkbenchWindow.updateActionBars(WorkbenchWindow.java:1643) at org.eclipse.ui.internal.WWinActionBars.updateActionBars(WWinActionBars.java:113) at org.eclipse.ui.SubActionBars.updateActionBars(SubActionBars.java:611) at org.eclipse.ui.internal.e4.compatibility.ActionBars.updateActionBars(ActionBars.java:96) at org.eclipse.ui.part.PageBookView.showPageRec(PageBookView.java:1015) at org.eclipse.ui.part.PageBookView.createPartControl(PageBookView.java:490) at org.eclipse.ui.views.properties.PropertySheet.createPartControl(PropertySheet.java:157) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:122) at org.eclipse.ui.internal.e4.compatibility.CompatibilityView.createPartControl(CompatibilityView.java:93) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:256) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) It seems the error is in the class org.eclipse.ui.internal.menus.MenuHelper at the line 723, MDirectToolItem toolItem = MenuFactoryImpl.eINSTANCE.createDirectToolItem(); String itemId = item.getId(); toolItem.setElementId(itemId == null ? id : itemId); String iconURI = getIconURI(action.getImageDescriptor()); if (iconURI == null) { iconURI = getIconURI(id, application.getContext()); The call of the last line above id is null. It should be the value of "itemId".