Project: appceleratorstudio
Issue TISTUD-1383: Widget is disposed related to SamplesView.run()
Noticed this in a log file. Add reproduction steps if you can figure them out {code} !ENTRY org.eclipse.jface 4 0 2012-03-16 10:59:55.337 !MESSAGE Unhandled event loop exception during blocked modal context. !STACK 0 org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed) org.eclipse.swt.SWT.error(SWT.java:4282) org.eclipse.swt.SWT.error(SWT.java:4197) org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138) org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140) org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757) org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:173) org.eclipse.jface.operation.ModalContext.run(ModalContext.java:388) org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507) org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:275) com.appcelerator.titanium.rcp.IDEWorkbenchAdvisor.disconnectFromWorkspace(IDEWorkbenchAdvisor.java:499) com.appcelerator.titanium.rcp.IDEWorkbenchAdvisor.postShutdown(IDEWorkbenchAdvisor.java:407) org.eclipse.ui.internal.Workbench.shutdown(Workbench.java:3023) org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1118) org.eclipse.ui.internal.Workbench.access$15(Workbench.java:1035) org.eclipse.ui.internal.Workbench$25.run(Workbench.java:1279) org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) org.eclipse.ui.internal.Workbench.close(Workbench.java:1277) org.eclipse.ui.internal.Workbench.close(Workbench.java:1249) com.appcelerator.titanium.core.TitaniumUserManager.signOut(TitaniumUserManager.java:172) com.appcelerator.titanium.ui.internal.TitaniumHomeControlContribution.signOut(TitaniumHomeControlContribution.java:110) com.appcelerator.titanium.ui.internal.TitaniumHomeControlContribution.access$2(TitaniumHomeControlContribution.java:104) com.appcelerator.titanium.ui.internal.TitaniumHomeControlContribution$2.widgetSelected(TitaniumHomeControlContribution.java:86) org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240) org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) org.eclipse.swt.widgets.Widget.sendSelectionEvent(Widget.java:1094) org.eclipse.swt.widgets.Link.wmNotifyChild(Link.java:1071) org.eclipse.swt.widgets.Control.wmNotify(Control.java:5534) org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:1896) org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:5086) org.eclipse.swt.widgets.Control.windowProc(Control.java:4584) org.eclipse.swt.widgets.Display.windowProc(Display.java:4985) org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2425) org.eclipse.swt.widgets.Link.callWindowProc(Link.java:172) org.eclipse.swt.widgets.Widget.wmLButtonUp(Widget.java:2057) org.eclipse.swt.widgets.Control.WM_LBUTTONUP(Control.java:4912) org.eclipse.swt.widgets.Link.WM_LBUTTONUP(Link.java:909) org.eclipse.swt.widgets.Control.windowProc(Control.java:4565) org.eclipse.swt.widgets.Display.windowProc(Display.java:4985) org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2531) org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752) org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696) org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660) org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) com.appcelerator.titanium.rcp.IDEApplication.start(IDEApplication.java:125) org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) org.eclipse.equinox.launcher.Main.run(Main.java:1410) Caused by: org.eclipse.swt.SWTException: Widget is disposed org.eclipse.swt.SWT.error(SWT.java:4282) org.eclipse.swt.SWT.error(SWT.java:4197) org.eclipse.swt.SWT.error(SWT.java:4168) org.eclipse.swt.widgets.Widget.error(Widget.java:468) org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340) org.eclipse.swt.widgets.Tree.getSelection(Tree.java:3402) org.eclipse.jface.viewers.TreeViewer.getSelection(TreeViewer.java:256) org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:344) org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2521) org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2944) org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1450) org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403) org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1404) org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1506) org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:537) org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1465) com.aptana.samples.ui.views.SamplesView$1$1.run(SamplesView.java:63) org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)	... 61 more {code}
Story points: 2