Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'dsf-gdb')
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbBasicCliConsole.java10
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsole.java11
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;
+ }
+ }
}
}

Back to the top