Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2005-03-17 04:10:53 +0000
committerDarin Wright2005-03-17 04:10:53 +0000
commit27df2c52adff274011038ba53a7c8b9fb421f029 (patch)
tree037d03a74c03252fad733f87194c36fbf7048bf3 /org.eclipse.debug.core
parent565ca21d34b2184571fd2dfd60ec059a95231a3f (diff)
downloadeclipse.platform.debug-27df2c52adff274011038ba53a7c8b9fb421f029.tar.gz
eclipse.platform.debug-27df2c52adff274011038ba53a7c8b9fb421f029.tar.xz
eclipse.platform.debug-27df2c52adff274011038ba53a7c8b9fb421f029.zip
Bug 88232 - AbstractSourceLookupDirector disposes existing containers
Diffstat (limited to 'org.eclipse.debug.core')
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java7
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++) {

Back to the top