diff options
Diffstat (limited to 'dsf-gdb')
2 files changed, 19 insertions, 2 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbBasicCliConsole.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbBasicCliConsole.java index 86e5418091d..1b4684a0896 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbBasicCliConsole.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbBasicCliConsole.java @@ -23,6 +23,7 @@ import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.ui.DebugUITools; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.swt.SWT; +import org.eclipse.swt.SWTException; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.console.IConsoleView; @@ -145,7 +146,14 @@ public class GdbBasicCliConsole extends IOConsole implements IGDBDebuggerConsole String newName = computeName(); String name = getName(); if (!name.equals(newName)) { - PlatformUI.getWorkbench().getDisplay().asyncExec(() -> setName(newName)); + try { + PlatformUI.getWorkbench().getDisplay().asyncExec(() -> setName(newName)); + } catch (SWTException e) { + // display may be disposed, so ignore the exception + if (e.code != SWT.ERROR_WIDGET_DISPOSED) { + throw e; + } + } } } diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsole.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsole.java index 252f0e3a4a8..e21fed3260f 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsole.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsole.java @@ -13,6 +13,8 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.swt.SWT; +import org.eclipse.swt.SWTException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.console.AbstractConsole; import org.eclipse.ui.console.IConsoleView; @@ -59,7 +61,14 @@ public class GdbFullCliConsole extends AbstractConsole implements IGDBDebuggerCo String newName = computeName(); String name = getName(); if (!name.equals(newName)) { - PlatformUI.getWorkbench().getDisplay().asyncExec(() -> setName(newName)); + try { + PlatformUI.getWorkbench().getDisplay().asyncExec(() -> setName(newName)); + } catch (SWTException e) { + // display may be disposed, so ignore the exception + if (e.code != SWT.ERROR_WIDGET_DISPOSED) { + throw e; + } + } } } |