This is an archived, read-only instance of the JaCaVi Trac. This site is no longer actively maintained. Registration and login have been disabled. Content is preserved for reference only.

Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#178 closed defect (fixed)

Opening a track causes an SWTException in certain situations

Reported by: Henrik Heimbuerger Owned by: Fabian Rohn
Priority: critical Milestone: MS1: First release (1.0.0)
Component: ui Version: pre-1.0
Keywords: Cc:

Description

Reproduction steps:

  1. Start with a fresh workspace.
  2. Open a track (e.g. htwgDigitalCheckpoint)
  3. Close the track
  4. Open another track (e.g. htwgAnalogue)

Result:

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:3777)
	at org.eclipse.swt.SWT.error(SWT.java:3695)
	at org.eclipse.swt.SWT.error(SWT.java:3666)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:336)
	at org.eclipse.swt.custom.ScrolledComposite.setLayout(ScrolledComposite.java:554)
	at de.jacavi.rcp.views.TileExplorerView.paintAndRefresh(TileExplorerView.java:64)
	at de.jacavi.rcp.views.TileExplorerView.partActivated(TileExplorerView.java:122)
	at org.eclipse.ui.internal.PartListenerList2$1.run(PartListenerList2.java:68)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:880)
	at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:53)
	at org.eclipse.ui.internal.PartListenerList2.firePartActivated(PartListenerList2.java:66)
	at org.eclipse.ui.internal.PartService.firePartActivated(PartService.java:191)
	at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:305)
	at org.eclipse.ui.internal.WWinPartService.updateActivePart(WWinPartService.java:124)
	at org.eclipse.ui.internal.WWinPartService.access$0(WWinPartService.java:115)
	at org.eclipse.ui.internal.WWinPartService$1.partDeactivated(WWinPartService.java:48)
	at org.eclipse.ui.internal.PartListenerList2$4.run(PartListenerList2.java:113)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:880)
	at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:53)
	at org.eclipse.ui.internal.PartListenerList2.firePartDeactivated(PartListenerList2.java:111)
	at org.eclipse.ui.internal.PartService.firePartDeactivated(PartService.java:241)
	at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:299)
	at org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePartChanged(WorkbenchPagePartList.java:56)
	at org.eclipse.ui.internal.PartList.setActivePart(PartList.java:126)
	at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3491)
	at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:610)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2832)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2729)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2721)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2673)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2668)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2652)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2635)
	at de.jacavi.rcp.actions.OpenTrackFileAction.openEditor(OpenTrackFileAction.java:80)
	at de.jacavi.rcp.actions.OpenTrackFileAction.run(OpenTrackFileAction.java:55)
	at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
	at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:229)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at de.jacavi.rcp.Application.start(Application.java:36)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:549)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1212)

Looks like paintAndRefresh() is called, but the scrolledComposite in line 64 is already disposed.

Change History (4)

comment:1 Changed 18 years ago by Henrik Heimbuerger

Status: newassigned

comment:2 Changed 18 years ago by SVN

New commit by frohn (revision [544]):
[Fix for ticket #178] Fixed this bug on closing the last open editor

There was something too much disposed.

comment:3 Changed 18 years ago by Fabian Rohn

Resolution: fixed
Status: assignedclosed

comment:4 Changed 18 years ago by SVN

New commit by frohn (revision [551]):
[Fix for ticket #178] Fixed this bug on closing the last open editor

There was something too much disposed.

Note: See TracTickets for help on using tickets.