Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2005-11-15 22:33:28 +0000
committerDarin Wright2005-11-15 22:33:28 +0000
commit3b851bb342954ecec059654f78ef608fdfca7837 (patch)
tree558ddd0f7960a085ab4a23789ae55443f16a01b5
parent228fd20c81b58585cc2e32c5fd3fbf41376d3f60 (diff)
downloadeclipse.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.java8
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);
}

Back to the top