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

Bug 311371

Summary: [Compatibility] All editors become materialized during shutdown
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: major    
Priority: P3    
Version: 1.0   
Target Milestone: 1.0 M6   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Remy Suen CLA 2010-05-03 09:28:11 EDT
Follow-up to bug 311360. I saw getEditors() being called but didn't find it suspicious as I knew editors had to be materialized when they're opened. But then I forgot about the restart case.

java.lang.NullPointerException
	at org.eclipse.ui.internal.EditorSiteDragAndDropServiceImpl.addMergedDropTarget(EditorSiteDragAndDropServiceImpl.java:165)
	at org.eclipse.ui.texteditor.AbstractTextEditor.installTextDragAndDrop(AbstractTextEditor.java:3580)
	at org.eclipse.ui.texteditor.AbstractTextEditor.initializeDragAndDrop(AbstractTextEditor.java:3178)
	at org.eclipse.ui.texteditor.AbstractTextEditor.createPartControl(AbstractTextEditor.java:3265)
	at org.eclipse.ui.texteditor.StatusTextEditor.createPartControl(StatusTextEditor.java:53)
	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.createPartControl(AbstractDecoratedTextEditor.java:432)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.createPartControl(JavaEditor.java:3104)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.createPartControl(CompilationUnitEditor.java:1475)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:115)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:48)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:168)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	at org.eclipse.e4.core.internal.di.MethodRequestor.callMethod(MethodRequestor.java:57)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:32)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processPostConstruct(InjectorImpl.java:608)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processPostConstruct(InjectorImpl.java:591)
	at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:88)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:245)
	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:199)
	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:192)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:131)
	at org.eclipse.e4.workbench.ui.internal.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:183)
	at org.eclipse.e4.workbench.ui.internal.ReflectionContributionFactory.create(ReflectionContributionFactory.java:159)
	at org.eclipse.e4.workbench.ui.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:57)
	at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.createWidget(PartRenderingEngine.java:434)
	at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.createGui(PartRenderingEngine.java:323)
	at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.createGui(PartRenderingEngine.java:385)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:439)
	at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:155)
	at org.eclipse.ui.internal.WorkbenchPage.getEditors(WorkbenchPage.java:1459)
	at org.eclipse.ui.internal.WorkbenchPage.saveAllEditors(WorkbenchPage.java:1924)
	at org.eclipse.ui.internal.WorkbenchPage.saveAllEditors(WorkbenchPage.java:1920)
	at org.eclipse.ui.internal.Workbench.saveAllEditors(Workbench.java:1016)
	at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:956)
	at org.eclipse.ui.internal.Workbench.access$11(Workbench.java:940)
	at org.eclipse.ui.internal.Workbench$13.run(Workbench.java:1057)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1055)
	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1028)
	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:648)
	at org.eclipse.ui.internal.WorkbenchWindow.access$2(WorkbenchWindow.java:630)
	at org.eclipse.ui.internal.WorkbenchWindow$4.run(WorkbenchWindow.java:677)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:675)
	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:687)
	at org.eclipse.ui.internal.WorkbenchWindow$3.close(WorkbenchWindow.java:343)
	at org.eclipse.e4.workbench.ui.renderers.swt.WBWRenderer$8.shellClosed(WBWRenderer.java:400)
Comment 1 Remy Suen CLA 2010-05-03 09:31:05 EDT
Fixed in CVS HEAD.
Comment 2 Remy Suen CLA 2010-05-03 09:46:08 EDT
Whoops.