[251836] ClearPlaceHolderJob needs to check if the viewer control is disposed
diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ClearPlaceHolderJob.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ClearPlaceHolderJob.java index c1ff1c4..4f29b2b 100644 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ClearPlaceHolderJob.java +++ b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ClearPlaceHolderJob.java
@@ -36,11 +36,15 @@ public IStatus runInUIThread(IProgressMonitor monitor) { try { - viewer.getControl().setRedraw(false); - viewer.remove(placeHolder); - viewer.add(parent, children); + if( !viewer.getControl().isDisposed() ){ + viewer.getControl().setRedraw(false); + viewer.remove(placeHolder); + viewer.add(parent, children); + } } finally { - viewer.getControl().setRedraw(true); + if( !viewer.getControl().isDisposed() ){ + viewer.getControl().setRedraw(true); + } } return Status.OK_STATUS; }