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

Bug 345987

Summary: Widget disposed exceptions when closing DS editor quickly after save
Product: [Eclipse Project] PDE Reporter: Markus Keller <markus.kell.r>
Component: UIAssignee: PDE-UI-Inbox <pde-ui-inbox>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3    
Version: 3.7   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard: stalebug
Attachments:
Description Flags
Log none

Description Markus Keller CLA 2011-05-16 13:24:47 EDT
Created attachment 195767 [details]
Log

I20110512-2000

After bug 336080, the deadlock is gone, but I get a few "Widget disposed" exceptions in the log when I close the DS editor quickly after save.

Looks like a design flaw that ManagedForm#doRefresh() runs updates after the form has been disposed. I didn't find a way how ManagedForm could deal with this without API changes, so I guess implementers of IFormPart#refresh() need to check whether their widgets are disposed.

Bug 316441 looks like a similar problem.


One example (log has the rest):

Caused by: org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4277)
	at org.eclipse.swt.SWT.error(SWT.java:4192)
	at org.eclipse.swt.SWT.error(SWT.java:4163)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:477)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:349)
	at org.eclipse.swt.widgets.Table.deselectAll(Table.java:1966)
	at org.eclipse.jface.viewers.TableViewer.doDeselectAll(TableViewer.java:277)
	at org.eclipse.jface.viewers.AbstractTableViewer.setSelectionToWidget(AbstractTableViewer.java:908)
	at org.eclipse.jface.viewers.StructuredViewer.setSelectionToWidget(StructuredViewer.java:1767)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1450)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1404)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1506)
	at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:537)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1465)
	at org.eclipse.pde.internal.ds.ui.editor.sections.DSPropertiesSection.refresh(DSPropertiesSection.java:175)
	at org.eclipse.ui.forms.ManagedForm.doRefresh(ManagedForm.java:206)
	at org.eclipse.ui.forms.ManagedForm.access$0(ManagedForm.java:201)
	at org.eclipse.ui.forms.ManagedForm$1.run(ManagedForm.java:195)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
Comment 1 Eclipse Genie CLA 2018-09-15 15:03:20 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 2 Lars Vogel CLA 2019-09-02 14:53:58 EDT
This bug has been marked as stalebug a while ago without any further interaction.

If this report is still relevant for the current release, please reopen and remove the stalebug whiteboard flag.