Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandra Buzila2015-03-31 08:06:42 +0000
committerAlexandra Buzila2015-03-31 08:06:42 +0000
commit46cf1f212cb3706eb3fa0997c24a4b0a544b2c60 (patch)
treeca2dc10c857dbe5ada6f6d786999a98327c56bc8
parent9c5b90b0e34ac3ee296ec24e0b12ed73ac8bcf1b (diff)
downloadorg.eclipse.emf.compare-46cf1f212cb3706eb3fa0997c24a4b0a544b2c60.tar.gz
org.eclipse.emf.compare-46cf1f212cb3706eb3fa0997c24a4b0a544b2c60.tar.xz
org.eclipse.emf.compare-46cf1f212cb3706eb3fa0997c24a4b0a544b2c60.zip
[462938] Merge dialog freezes when merging submodel changes
When building the logical model for a resource and searching for additional remote storages, incoming deletions need to be taken into account. Bug: 462938 Change-Id: I75b63fd7a7116e6a648b226086b2d7ed9032120d Signed-off-by: Alexandra Buzila <abuzila@eclipsesource.com>
-rw-r--r--plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ThreadedModelResolver.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ThreadedModelResolver.java b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ThreadedModelResolver.java
index de0efbbd3..fd2c64b2d 100644
--- a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ThreadedModelResolver.java
+++ b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ThreadedModelResolver.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2014, 2015 Obeo.
+ * Copyright (c) 2014, 2015 Obeo and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,7 @@
*
* Contributors:
* Obeo - initial API and implementation
+ * Alexandra Buzila - Fixes for Bug 462938
*******************************************************************************/
package org.eclipse.emf.compare.ide.ui.internal.logical.resolver;
@@ -796,6 +797,10 @@ public class ThreadedModelResolver extends AbstractModelResolver {
final Set<IStorage> differenceOriginLeft = difference(additionalOrigin, asURISet(left));
final Set<IStorage> differenceOriginRight = difference(additionalOrigin, asURISet(right));
additionalStorages = symmetricDifference(differenceOriginRight, differenceOriginLeft);
+
+ // Differences between left/right and origin could come from resources that are present in the origin, but were deleted in one of the sides. As these resources already exist in the origin, they
+ // need to be removed from the additionalStorages
+ additionalStorages.removeAll(origin);
}
}

Back to the top