Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 356419

Summary: Widget is disposed when clicking on "Restore Default" icon next to a list box
Product: z_Archived Reporter: Shenxue Zhou <shenxue.zhou>
Component: SapphireAssignee: Konstantin Komissarchik <konstantin>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Shenxue Zhou CLA 2011-08-31 18:52:27 EDT
After a new list element is added, if the new element's properties are modified, then clicking "Restore Default" next to the list table would cause the following exception to be logged in the console:

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4282)
	at org.eclipse.swt.SWT.error(SWT.java:4197)
	at org.eclipse.swt.SWT.error(SWT.java:4168)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
	at org.eclipse.swt.widgets.Widget.getDisplay(Widget.java:582)
	at org.eclipse.sapphire.ui.renderers.swt.DefaultListPropertyEditorRenderer.handleListElementChangedEvent(DefaultListPropertyEditorRenderer.java:844)
	at org.eclipse.sapphire.ui.renderers.swt.ListPropertyEditorRenderer$1.propertyChanged(ListPropertyEditorRenderer.java:43)
	at org.eclipse.sapphire.modeling.ModelElement.notifyPropertyChangeListeners(ModelElement.java:1280)
	at org.eclipse.sapphire.modeling.ModelElement.notifyPropertyChangeListeners(ModelElement.java:1262)
	at oracle.eclipse.tools.adf.controller.model.internal.ADFView.refreshProperty(ADFView.java:689)
	at org.eclipse.sapphire.modeling.ModelElement.refresh(ModelElement.java:457)
	at org.eclipse.sapphire.modeling.ModelElement.refresh(ModelElement.java:450)
	at oracle.eclipse.tools.adf.controller.model.internal.ADFView.setPage(ADFView.java:333)
	at oracle.eclipse.tools.adf.controller.model.internal.ADFView.write(ADFView.java:921)
	at org.eclipse.sapphire.ui.internal.binding.TextFieldBinding.doUpdateModel(TextFieldBinding.java:98)
	at org.eclipse.sapphire.ui.internal.binding.AbstractBinding.updateModel(AbstractBinding.java:104)
	at org.eclipse.sapphire.ui.internal.binding.TextFieldBinding$1.run(TextFieldBinding.java:66)
	at org.eclipse.sapphire.ui.DelayedTasksExecutor$WorkerThread$1.run(DelayedTasksExecutor.java:208)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	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:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Comment 1 Shenxue Zhou CLA 2011-08-31 19:01:45 EDT
Another place where we've hit exception is at line 958 of DefaultListPropertyEditorRenderer class when Restore Default on list table
Comment 2 Konstantin Komissarchik CLA 2011-09-01 16:29:33 EDT
Please provide a better repro. I am not able to reproduce this problem despite trying on different examples. Also, there is no "restore default" for list property editor, just "clear"...