Community
Participate
Working Groups
I was working in an inner from master. When I restarted that workspace (with editors open) and I hit CTRL+3 I get an empty dropdown and a lot of exceptions: !ENTRY org.eclipse.ui 4 0 2013-12-09 08:45:49.975 !MESSAGE Unhandled event loop exception !STACK 0 java.lang.NullPointerException at org.eclipse.jface.resource.ImageDataImageDescriptor.<init>(ImageDataImageDescriptor.java:36) at org.eclipse.jface.resource.ImageDescriptor.createFromImage(ImageDescriptor.java:104) at org.eclipse.ui.internal.quickaccess.EditorElement.getImageDescriptor(EditorElement.java:53) at org.eclipse.ui.internal.quickaccess.QuickAccessEntry.getImage(QuickAccessEntry.java:114) at org.eclipse.ui.internal.quickaccess.QuickAccessEntry.measure(QuickAccessEntry.java:160) at org.eclipse.ui.internal.quickaccess.QuickAccessContents$9.handleEvent(QuickAccessContents.java:661) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4410) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1412) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1397) at org.eclipse.swt.widgets.Table.sendMeasureEvent(Table.java:2488) at org.eclipse.swt.widgets.Table.rendererGetSizeProc(Table.java:2515) at org.eclipse.swt.widgets.Display.rendererGetSizeProc(Display.java:1374) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8730) at org.eclipse.swt.widgets.Display.eventProc(Display.java:1244) at org.eclipse.swt.internal.gtk.OS._gtk_tree_view_set_cursor(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_tree_view_set_cursor(OS.java:13222) at org.eclipse.swt.widgets.Table.selectFocusIndex(Table.java:2917) at org.eclipse.swt.widgets.Table.setSelection(Table.java:3239) at org.eclipse.ui.internal.quickaccess.QuickAccessContents.refresh(QuickAccessContents.java:132) at org.eclipse.ui.internal.quickaccess.QuickAccessContents$2.modifyText(QuickAccessContents.java:522) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:179) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4410) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3760) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3381) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1119) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1003) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:146) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:609) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:109) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:80) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:372) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:226) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) at org.eclipse.equinox.launcher.Main.run(Main.java:1450) at org.eclipse.equinox.launcher.Main.main(Main.java:1426) !ENTRY org.eclipse.ui 4 0 2013-12-09 08:45:49.986 !MESSAGE Unhandled event loop exception !STACK 0 java.lang.NullPointerException at org.eclipse.jface.resource.ImageDataImageDescriptor.<init>(ImageDataImageDescriptor.java:36) at org.eclipse.jface.resource.ImageDescriptor.createFromImage(ImageDescriptor.java:104) at org.eclipse.ui.internal.quickaccess.EditorElement.getImageDescriptor(EditorElement.java:53) at org.eclipse.ui.internal.quickaccess.QuickAccessEntry.getImage(QuickAccessEntry.java:114) at org.eclipse.ui.internal.quickaccess.QuickAccessEntry.measure(QuickAccessEntry.java:160) at org.eclipse.ui.internal.quickaccess.QuickAccessContents$9.handleEvent(QuickAccessContents.java:661) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4410) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1412) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1397) at org.eclipse.swt.widgets.Table.sendMeasureEvent(Table.java:2488) at org.eclipse.swt.widgets.Table.rendererGetSizeProc(Table.java:2515) at org.eclipse.swt.widgets.Display.rendererGetSizeProc(Display.java:1374) at org.eclipse.swt.internal.gtk.OS._gtk_cell_renderer_get_size(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_cell_renderer_get_size(OS.java:6276) at org.eclipse.swt.widgets.Widget.gtk_cell_renderer_get_preferred_size(Widget.java:2164) at org.eclipse.swt.widgets.Table.rendererRender(Table.java:2593) at org.eclipse.swt.widgets.Table.rendererRenderProc(Table.java:2526) at org.eclipse.swt.widgets.Display.rendererRenderProc(Display.java:1388) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8730) at org.eclipse.swt.widgets.Display.eventProc(Display.java:1244) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2284) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3379) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1119) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1003) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:146) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:609) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:109) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:80) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:372) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:226) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) at org.eclipse.equinox.launcher.Main.run(Main.java:1450) at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Possibly related to the editor ref icon changes that were recently made? PW
Created attachment 238177 [details] workbench.xmi from failing workspace
Steps to reproduce: 1. Open a new workspace and create a Java project with 2 files, TestNode1.java and TestNode2.java. 2. Open TestNode2.java with Java editor. 3. Press Ctrl+3 for quick access and type "de". 4. Select TestNode2.java from the list (in Editors) and press Enter. 5. Delete TestNode2.java from Package explorer. 6. Press Ctrl+3 and type "de" => We get the partially empty dropdown and exceptions in Error Log view.
Doesn't happen in 4.3.1. Got broken by the initial commit for bug 387579: org.eclipse.ui.internal.WorkbenchPartReference#getTitleImage() must not return null, even if the editor has not been created yet.
Committed: http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=6750d2546700063bebc6a9567132e7c3f2671e3c This uses the renderer from the currently active window in order to get the image. In light of Markus' comment about 'null' being bad I've also changed the 'return null' at the end of the method to return the DEFAULT_VIEW image instead...
Verified in I20140120-2000