448239: [mylyn] SWTE in AbstractFocusViewAction.updateInterestFilter -
Widget disposed
Change-Id: I6f63fcd9d0c07ba59cbbc4b342695bce451b26cc
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=448239
diff --git a/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/context/ui/AbstractFocusViewAction.java b/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/context/ui/AbstractFocusViewAction.java
index b636686..76b4501 100644
--- a/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/context/ui/AbstractFocusViewAction.java
+++ b/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/context/ui/AbstractFocusViewAction.java
@@ -408,7 +408,7 @@
if (showEmptyViewMessage && viewer instanceof TreeViewer) {
Tree tree = ((TreeViewer) viewer).getTree();
Listener drawingListener = viewerToDrawerMap.get(viewer);
- if (drawingListener == null) {
+ if (drawingListener == null && !tree.isDisposed()) {
EmptyContextDrawer drawer = new EmptyContextDrawer(tree);
viewerToDrawerMap.put(viewer, drawer);
tree.addListener(SWT.Paint, drawer);
@@ -421,7 +421,7 @@
if (showEmptyViewMessage && viewer instanceof TreeViewer) {
Tree tree = ((TreeViewer) viewer).getTree();
EmptyContextDrawer drawer = viewerToDrawerMap.remove(viewer);
- if (drawer != null) {
+ if (drawer != null && !tree.isDisposed()) {
tree.removeListener(SWT.Paint, drawer);
}
}