Bug 569781

Summary: [GTK] Widget is disposed on Link.gtk_event_after
Product: [Eclipse Project] Platform Reporter: Andrey Loskutov <loskutov>
Component: SWTAssignee: Platform-SWT-Inbox <platform-swt-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3    
Version: 4.19   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Andrey Loskutov CLA 2020-12-17 08:30:58 EST
Was fast navigating via ctrl+click in some java code I've got this stack (using 4.19 master):

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4875)
	at org.eclipse.swt.SWT.error(SWT.java:4790)
	at org.eclipse.swt.SWT.error(SWT.java:4761)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:555)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:470)
	at org.eclipse.swt.widgets.Control.redraw(Control.java:4540)
	at org.eclipse.swt.widgets.Link.gtk_event_after(Link.java:446)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2283)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:6754)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:6035)
	at org.eclipse.swt.internal.gtk.GTK.gtk_main_do_event(Native Method)
	at org.eclipse.swt.widgets.Display.eventProc(Display.java:1527)
	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(Native Method)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4528)

I can't reproduce, I believe that was too fast dismissal of Ctrl+click popup that caused that. Probably we can check if the widget is already disposed before we redraw that?