diff options
author | Darin Wright | 2005-11-15 22:33:28 +0000 |
---|---|---|
committer | Darin Wright | 2005-11-15 22:33:28 +0000 |
commit | 3b851bb342954ecec059654f78ef608fdfca7837 (patch) | |
tree | 558ddd0f7960a085ab4a23789ae55443f16a01b5 | |
parent | 228fd20c81b58585cc2e32c5fd3fbf41376d3f60 (diff) | |
download | eclipse.platform.debug-3b851bb342954ecec059654f78ef608fdfca7837.tar.gz eclipse.platform.debug-3b851bb342954ecec059654f78ef608fdfca7837.tar.xz eclipse.platform.debug-3b851bb342954ecec059654f78ef608fdfca7837.zip |
remove model listeners on unmap all + fix to selection change
-rw-r--r-- | org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java index 9e42acfe6..8ce203dca 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java @@ -166,6 +166,9 @@ public abstract class AsynchronousViewer extends StructuredViewer { Iterator updatePolicies = fModelProxies.values().iterator(); while (updatePolicies.hasNext()) { IModelProxy proxy = (IModelProxy)updatePolicies.next(); + if (fUpdatePolicy instanceof IModelChangedListener) { + proxy.removeModelChangedListener((IModelChangedListener)fUpdatePolicy); + } proxy.dispose(); } @@ -439,7 +442,6 @@ public abstract class AsynchronousViewer extends StructuredViewer { if (fUpdatePolicy instanceof IModelChangedListener) { proxy.removeModelChangedListener((IModelChangedListener)fUpdatePolicy); } - proxy.dispose(); } } @@ -731,7 +733,7 @@ public abstract class AsynchronousViewer extends StructuredViewer { if (isSuppressEqualSelections() && currentSelection.equals(fCurrentSelection)) { return; } - updateSelection(fCurrentSelection); + updateSelection(currentSelection); } } @@ -880,8 +882,8 @@ public abstract class AsynchronousViewer extends StructuredViewer { * @see org.eclipse.jface.viewers.StructuredViewer#updateSelection(org.eclipse.jface.viewers.ISelection) */ protected synchronized void updateSelection(ISelection selection) { - super.updateSelection(selection); fCurrentSelection = selection; + super.updateSelection(selection); } |