Community
Participate
Working Groups
Build Identifier: M20090211-1700 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.widgets.Widget.getData(Widget.java:521) at org.eclipse.ui.views.properties.PropertySheetViewer.handleSelect(PropertySheetViewer.java:720) Reproducible: Always Steps to Reproduce: 1.enter cell editor of one property entry 2.change it's value, for me , this will cause some property be removed. 3.then if i stop editing by click entry which was remove by previous editing, exception popup.
Is this in some plug-in you have written? Please attach some code to reproduce the problem.
public class DataEntryPropertySource implements IPropertySource { .... @Override public IPropertyDescriptor[] getPropertyDescriptors() { List<IPropertyDescriptor> list = new ArrayList<IPropertyDescriptor>(); ..... //I create some Descriptors to input or edit each element of an array.(int array for example). //if element is set to -1 by cell editor, i will remove this element, when property sheet refresh, //count of Descriptor will reduce, some widget will be disposed. //if I exit editing by click the Tree Item which will just be removed, this exception popup. //I think this is because property sheet page refresh before handling tree item click. //PropertySheetViewer line 720, Object object = sel[0].getData(); sel[0] is TreeItem, it should check disposed before get data. ..... } .... } hope this help.
o, if i exit editing by click tree item which will not be removed(presents element in array which will not be removed), no exception occur.
Please provide us the correct steps with sample code to reproduce the problem.