Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 339731

Summary: [Compatibility] NPE thrown after closing all perspectives
Product: [Eclipse Project] e4 Reporter: Remy Suen <remy.suen>
Component: UIAssignee: Remy Suen <remy.suen>
Status: RESOLVED FIXED QA Contact: Remy Suen <remy.suen>
Severity: normal    
Priority: P3    
Version: 1.0   
Target Milestone: 4.1 M6   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
WorkbenchPage patch v1 none

Description Remy Suen CLA 2011-03-11 12:32:34 EST
java.lang.NullPointerException
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.match(ModelServiceImpl.java:63)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.findElementsRecursive(ModelServiceImpl.java:86)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.findElements(ModelServiceImpl.java:165)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.find(ModelServiceImpl.java:201)
at org.eclipse.ui.internal.WorkbenchPage.findSharedArea(WorkbenchPage.java:2478)
at org.eclipse.ui.internal.WorkbenchPage.getActiveEditor(WorkbenchPage.java:1714)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchWindowAdvisor.updateTitle(IDEWorkbenchWindowAdvisor.java:470)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchWindowAdvisor.access$3(IDEWorkbenchWindowAdvisor.java:461)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchWindowAdvisor$2.pageClosed(IDEWorkbenchWindowAdvisor.java:276)
at org.eclipse.ui.internal.PageListenerList$2.run(PageListenerList.java:83)
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.PageListenerList.fireEvent(PageListenerList.java:53)
at org.eclipse.ui.internal.PageListenerList.firePageClosed(PageListenerList.java:81)
at org.eclipse.ui.internal.WorkbenchWindow.firePageClosed(WorkbenchWindow.java:1015)
at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:1645)
at org.eclipse.ui.internal.WorkbenchPage.close(WorkbenchPage.java:1413)
at org.eclipse.ui.internal.WorkbenchPage.closeAllPerspectives(WorkbenchPage.java:1387)
at org.eclipse.ui.internal.WorkbenchPage.closePerspective(WorkbenchPage.java:1374)
at org.eclipse.ui.internal.WorkbenchPage.closePerspective(WorkbenchPage.java:1363)
at org.eclipse.ui.internal.handlers.ClosePerspectiveHandler.execute(ClosePerspectiveHandler.java:39)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:226)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:207)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:123)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:122)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:520)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:439)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$1(HandledContributionItem.java:423)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$2.handleEvent(HandledContributionItem.java:388)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4150)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3739)
Comment 1 Remy Suen CLA 2011-03-11 12:38:41 EST
Created attachment 191006 [details]
WorkbenchPage patch v1

We're asking the perspective stack for its selected element but this may be null if all perspectives have been closed.
Comment 2 Remy Suen CLA 2011-03-11 12:53:27 EST
(In reply to comment #1)
> Created attachment 191006 [details]
> WorkbenchPage patch v1

Fix released to CVS HEAD.