Community
Participate
Working Groups
Build Identifier: Build id: 20100218-1602 java.lang.NullPointerException at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.handlePartActivated(TabbedPropertySheetPage.java:320) at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage$1.partActivated(TabbedPropertySheetPage.java:118) at org.eclipse.ui.internal.PartListenerList$1.run(PartListenerList.java:72) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.runtime.Platform.run(Platform.java:888) at org.eclipse.ui.internal.PartListenerList.fireEvent(PartListenerList.java:57) at org.eclipse.ui.internal.PartListenerList.firePartActivated(PartListenerList.java:70) at org.eclipse.ui.internal.PartService.firePartActivated(PartService.java:187) at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:306) at org.eclipse.ui.internal.WWinPartService.updateActivePart(WWinPartService.java:131) at org.eclipse.ui.internal.WWinPartService.access$0(WWinPartService.java:122) at org.eclipse.ui.internal.WWinPartService$WWinListener.partDeactivated(WWinPartService.java:50) at org.eclipse.ui.internal.PartListenerList2$4.run(PartListenerList2.java:115) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.runtime.Platform.run(Platform.java:888) at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:55) at org.eclipse.ui.internal.PartListenerList2.firePartDeactivated(PartListenerList2.java:113) at org.eclipse.ui.internal.PartService.firePartDeactivated(PartService.java:242) at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:300) at org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePartChanged(WorkbenchPagePartList.java:57) at org.eclipse.ui.internal.PartList.setActivePart(PartList.java:136) at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3531) at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:614) at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1092) at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1069) at org.eclipse.ui.internal.WorkbenchPage$20.run(WorkbenchPage.java:3816) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3813) at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3789) at org.eclipse.ui.handlers.ShowViewHandler.openView(ShowViewHandler.java:165) at org.eclipse.ui.handlers.ShowViewHandler.openOther(ShowViewHandler.java:109) at org.eclipse.ui.handlers.ShowViewHandler.execute(ShowViewHandler.java:77) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) at org.eclipse.ui.internal.ShowViewMenu$3.run(ShowViewMenu.java:141) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) at org.eclipse.equinox.launcher.Main.run(Main.java:1311) at org.eclipse.equinox.launcher.Main.main(Main.java:1287) Reproducible: Always Steps to Reproduce: 1.) Checkout org.eclipse.ui.examples.views.properties.tabbed.hockeyleague 2.) Start eclipse with this plug-in 3.) Create new hockey league project 4.) Open Properties View 5.) Select some item from the hockey league file 6.) See that properties view changes 7.) Close properties view 8.) Try to open properties view again
Heinrich, can you still reproduce this using 3.7 M4?
I've ran into the same problem with the org.eclipse.ui.examples.views.properties.tabbed.hockeyleague example. The problem was caused by the HockeyLeagueEditor caching the propertySheetPage. Attaching patch.
Created attachment 228051 [details] Patch fixing the NPE problem Tested on 3.7.2 and 4.2.1
Released as http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=ec77102203186c7cf66d7af96013bb0a925840ee Thanx. PW
Discovered today that the patch doesn't work properly if the user open multiple instances of the properties view. http://wiki.eclipse.org/Platform_UI/Multi-instance_Properties_View In that case, the caching of the propertySheetPage done by the editor will cause problems. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=248103#c26
(In reply to comment #5) > Discovered today that the patch doesn't work properly if the user open > multiple instances of the properties view. So this is a problem in the example, caching the sheet page prevents it from working correctly with multiple properties views? PW
in 4.3.0.I20130311-2000 PW
> So this is a problem in the example, caching the sheet page prevents it from > working correctly with multiple properties views? Yes, the example editor is based on EMF generated editor code where the propertySheetPage is cached.