Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/UIUtil.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/UIUtil.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/UIUtil.java
index 311e72610e..6592f3914c 100644
--- a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/UIUtil.java
+++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/UIUtil.java
@@ -412,7 +412,7 @@ public final class UIUtil
ModalContext.run(runnable, true, monitor, PlatformUI.getWorkbench().getDisplay());
}
};
-
+
PlatformUI.getWorkbench().getProgressService().run(false, true, op);
}
catch (InvocationTargetException ex)
@@ -494,6 +494,19 @@ public final class UIUtil
{
public void run()
{
+ try
+ {
+ doRefresh(viewer, element, updateLabels);
+ }
+ catch (RuntimeException ex)
+ {
+ // An element may have been deactivated - refresh the entire tree
+ doRefresh(viewer, null, updateLabels);
+ }
+ }
+
+ private void doRefresh(final StructuredViewer viewer, final Object element, final boolean updateLabels)
+ {
if (element != null && element != viewer.getInput())
{
viewer.refresh(element, updateLabels);

Back to the top