Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 543309 - ApplicationWindow Statusline breaks Design Panel
Summary: ApplicationWindow Statusline breaks Design Panel
Status: CLOSED DUPLICATE of bug 543308
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: WindowBuilder (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-09 09:46 EST by Thomas Kernstock CLA
Modified: 2021-06-04 16:45 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Kernstock CLA 2019-01-09 09:46:50 EST
I updated to Photon 2018-12 recently. Since then a couple of my applicationwindow classes don't work in the design panel anymore. Although I see the components in componentsview the layout stays empty. When I click the container component and "reselect" Gridlayout I get an internal error:

java.lang.NullPointerException
	at org.eclipse.wb.internal.swt.model.layout.grid.GridLayoutInfo.getIntervals(GridLayoutInfo.java:1223)
	at org.eclipse.wb.internal.swt.model.layout.grid.GridLayoutInfo.createGridInfo(GridLayoutInfo.java:1083)
	at org.eclipse.wb.internal.swt.model.layout.grid.GridLayoutInfo.access$9(GridLayoutInfo.java:1081)
	at org.eclipse.wb.internal.swt.model.layout.grid.GridLayoutInfo$5.run(GridLayoutInfo.java:1057)
	at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runRethrow(ExecutionUtils.java:119)
	at org.eclipse.wb.internal.swt.model.layout.grid.GridLayoutInfo.getGridInfo(GridLayoutInfo.java:1055)
	at org.eclipse.wb.internal.swt.gef.policy.layout.grid.GridHelper.getGridInfo(GridHelper.java:41)
	at org.eclipse.wb.core.gef.policy.layout.grid.AbstractGridHelper.showGridFeedback(AbstractGridHelper.java:157)
	at org.eclipse.wb.core.gef.policy.layout.grid.AbstractGridLayoutEditPolicy.refreshSelectionGrid(AbstractGridLayoutEditPolicy.java:103)
	at org.eclipse.wb.core.gef.policy.layout.grid.AbstractGridLayoutEditPolicy.access$0(AbstractGridLayoutEditPolicy.java:96)
	at org.eclipse.wb.core.gef.policy.layout.grid.AbstractGridLayoutEditPolicy$1.refreshed2(AbstractGridLayoutEditPolicy.java:62)
	at sun.reflect.GeneratedMethodAccessor245.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.wb.core.model.broadcast.BroadcastSupport$1.intercept(BroadcastSupport.java:208)
	at org.eclipse.wb.core.model.broadcast.ObjectEventListener$$EnhancerByCGLIB$$43790155.refreshed2(<generated>)
	at org.eclipse.wb.core.model.ObjectInfo.refresh(ObjectInfo.java:505)
	at org.eclipse.wb.core.model.ObjectInfo.endEdit(ObjectInfo.java:446)
	at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.run(ExecutionUtils.java:325)
	at org.eclipse.wb.internal.core.model.util.ObjectInfoAction$1.run(ObjectInfoAction.java:84)
	at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runLog(ExecutionUtils.java:106)
	at org.eclipse.wb.internal.core.model.util.ObjectInfoAction.run(ObjectInfoAction.java:81)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:476)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:568)
	at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:400)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	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.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)


Full context stack trace:
java.lang.NullPointerException
	at org.eclipse.wb.internal.swt.model.layout.grid.GridLayoutInfo.getIntervals(GridLayoutInfo.java:1223)
	at org.eclipse.wb.internal.swt.model.layout.grid.GridLayoutInfo.createGridInfo(GridLayoutInfo.java:1083)
	at org.eclipse.wb.internal.swt.model.layout.grid.GridLayoutInfo.access$9(GridLayoutInfo.java:1081)
	at org.eclipse.wb.internal.swt.model.layout.grid.GridLayoutInfo$5.run(GridLayoutInfo.java:1057)
	at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runRethrow(ExecutionUtils.java:119)
	at org.eclipse.wb.internal.swt.model.layout.grid.GridLayoutInfo.getGridInfo(GridLayoutInfo.java:1055)
	at org.eclipse.wb.internal.swt.gef.policy.layout.grid.GridHelper.getGridInfo(GridHelper.java:41)
	at org.eclipse.wb.core.gef.policy.layout.grid.AbstractGridHelper.showGridFeedback(AbstractGridHelper.java:157)
	at org.eclipse.wb.core.gef.policy.layout.grid.AbstractGridLayoutEditPolicy.refreshSelectionGrid(AbstractGridLayoutEditPolicy.java:103)
	at org.eclipse.wb.core.gef.policy.layout.grid.AbstractGridLayoutEditPolicy.access$0(AbstractGridLayoutEditPolicy.java:96)
	at org.eclipse.wb.core.gef.policy.layout.grid.AbstractGridLayoutEditPolicy$1.refreshed2(AbstractGridLayoutEditPolicy.java:62)
	at sun.reflect.GeneratedMethodAccessor245.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.wb.core.model.broadcast.BroadcastSupport$1.intercept(BroadcastSupport.java:208)
	at org.eclipse.wb.core.model.broadcast.ObjectEventListener$$EnhancerByCGLIB$$43790155.refreshed2(<generated>)
	at org.eclipse.wb.core.model.ObjectInfo.refresh(ObjectInfo.java:505)
	at org.eclipse.wb.core.model.ObjectInfo.endEdit(ObjectInfo.java:446)
	at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.run(ExecutionUtils.java:325)
	at org.eclipse.wb.internal.core.model.util.ObjectInfoAction$1.run(ObjectInfoAction.java:84)
	at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runLog(ExecutionUtils.java:106)
	at org.eclipse.wb.internal.core.model.util.ObjectInfoAction.run(ObjectInfoAction.java:81)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:476)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:568)
	at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:400)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	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.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)

The reason for this problem seems to be the statuslinemanager, because when I remove the addStatusline() statement everything works fine.

Steps to Reproduce:
1) Add new WindowBuilder-SWTDesigner-Jface-ApplicationWindow
2) Try adding components to container -> not working
3) Reselect "Gridlayout" on container component -> find stacktrace of above
4) Switch to code and remove addStatusline() from Constructor -> switch back to design and add widget to container -> now it works

br
Thomas
Comment 1 Thomas Kernstock CLA 2019-01-09 09:49:33 EST

*** This bug has been marked as a duplicate of bug 543308 ***