Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java22
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java2
2 files changed, 11 insertions, 13 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java
index 08d25f392..6bbcfb24f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java
@@ -18,6 +18,7 @@ import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoRe
import org.eclipse.debug.internal.ui.viewers.model.provisional.ITreeModelViewer;
import org.eclipse.debug.internal.ui.viewers.model.provisional.ModelDelta;
import org.eclipse.jface.viewers.TreePath;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IMemento;
/**
@@ -45,23 +46,20 @@ class ElementMementoRequest extends MementoUpdate implements IElementMementoRequ
fDelta = delta;
}
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IProgressMonitor#done()
- */
@Override
public void done() {
-
ITreeModelViewer viewer = getContentProvider().getViewer();
- if (viewer == null)
- {
- return; // disposed
+ if (viewer == null) {
+ return; // disposed
}
- if (viewer.getDisplay().getThread() == Thread.currentThread()) {
- doComplete();
- } else {
- viewer.getDisplay().asyncExec(() -> doComplete());
+ Display display = viewer.getDisplay();
+ if (display != null) {
+ if (display.getThread() == Thread.currentThread()) {
+ doComplete();
+ } else {
+ display.asyncExec(this::doComplete);
+ }
}
-
}
private void doComplete() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
index b5ef7ce09..b6fab9a4b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
@@ -1424,7 +1424,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
@Override
public Display getDisplay() {
Control control = getControl();
- if (control != null) {
+ if (control != null && !control.isDisposed()) {
return control.getDisplay();
}
return null;

Back to the top