diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/classpath/RuntimeClasspathViewer.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/classpath/RuntimeClasspathViewer.java index e4caeb9418..0ff61ed7de 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/classpath/RuntimeClasspathViewer.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/classpath/RuntimeClasspathViewer.java @@ -64,17 +64,7 @@ public class RuntimeClasspathViewer implements IClasspathViewer { @Override public void preferenceChange(PreferenceChangeEvent event) { - if (DebugUIPlugin.getStandardDisplay().getThread().equals(Thread.currentThread())) { - refresh(true); - } else { - DebugUIPlugin.getStandardDisplay().syncExec(new Runnable() { - @Override - public void run() { - refresh(true); - } - }); - } - + DebugUIPlugin.getStandardDisplay().asyncExec(() -> refresh(true)); } }; @@ -395,6 +385,9 @@ public void setSelection(ISelection selection) { @Override public void refresh(Object entry) { + if (fTree.isDisposed()) { + return; + } getTreeViewer().refresh(); }