diff options
author | Darin Wright | 2005-03-17 04:10:53 +0000 |
---|---|---|
committer | Darin Wright | 2005-03-17 04:10:53 +0000 |
commit | 27df2c52adff274011038ba53a7c8b9fb421f029 (patch) | |
tree | 037d03a74c03252fad733f87194c36fbf7048bf3 | |
parent | 565ca21d34b2184571fd2dfd60ec059a95231a3f (diff) | |
download | eclipse.platform.debug-27df2c52adff274011038ba53a7c8b9fb421f029.tar.gz eclipse.platform.debug-27df2c52adff274011038ba53a7c8b9fb421f029.tar.xz eclipse.platform.debug-27df2c52adff274011038ba53a7c8b9fb421f029.zip |
Bug 88232 - AbstractSourceLookupDirector disposes existing containers
-rw-r--r-- | org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java index a37ca420d..e7521cc3e 100644 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java +++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java @@ -7,11 +7,13 @@ * * Contributors: * IBM Corporation - initial API and implementation + * QNX Software Systems - Mikhail Khodjaiants - Bug 88232 *******************************************************************************/ package org.eclipse.debug.core.sourcelookup; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -422,9 +424,12 @@ public abstract class AbstractSourceLookupDirector implements ISourceLookupDirec */ public void setSourceContainers(ISourceContainer[] containers) { synchronized (this) { + List list = Arrays.asList( containers ); ISourceContainer[] old = getSourceContainers(); for (int i = 0; i < old.length; i++) { - old[i].dispose(); + // skip overlapping containers + if (!list.contains(old[i])) + old[i].dispose(); } fSourceContainers = containers; for (int i = 0; i < containers.length; i++) { |