-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
eclipse-platform/eclipse.platform.swt
#2357Labels
Milestone
Description
Description
Recently a issue was reported in official repository about Menu#getShell being null and breaking org.eclipse.ui.examples.contributions when starting the runtime workspace with dark theme, See eclipse-platform/eclipse.platform.swt#2247. I am not able to reproduce the issue yet in my runtime workspace but i found similar issue when enabling org.eclipse.e4.ui.workbench.swt plugin in my runtime workspace.
Adding a stack trace here:
ENTRY org.eclipse.e4.ui.workbench.swt 4 2 2025-06-25 11:47:14.389
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.e4.ui.workbench.swt".
!STACK 0
java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Menu.getShell()" because the return value of "org.eclipse.swt.widgets.MenuItem.getMenu()" is null
at org.eclipse.swt.widgets.MenuItem.calculateRenderedTextSize(MenuItem.java:1310)
at org.eclipse.swt.widgets.MenuItem.wmMeasureChild(MenuItem.java:1253)
at org.eclipse.swt.widgets.Control.WM_MEASUREITEM(Control.java:5260)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4820)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:336)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1494)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2378)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5128)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(Native Method)
at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:504)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4881)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:336)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1494)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2371)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5128)
at org.eclipse.swt.internal.win32.OS.BringWindowToTop(Native Method)
at org.eclipse.swt.widgets.Decorations.bringToTop(Decorations.java:215)
at org.eclipse.swt.widgets.Shell.open(Shell.java:1284)
at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.postProcess(WBWRenderer.java:743)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1079)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:678)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:583)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:185)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:627)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1431)
at org.eclipse.equinox.launcher.Main.main(Main.java:1403)
Suppressed: java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Menu.getShell()" because the return value of "org.eclipse.swt.widgets.MenuItem.getMenu()" is null
... 44 more
JFYI, @fedejeanne
Probable places with this issue::
- getMonitorZoom() : int - org.eclipse.swt.widgets.MenuItem
- SetMenu(long, long, long) : int - org.eclipse.swt.ole.win32.OleFrame
- TranslateAccelerator(long, int) : int - org.eclipse.swt.ole.win32.OleFrame
- TranslateAccelerator(long, long, int) : int - org.eclipse.swt.browser.WebSite
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
✅ Done