Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Goubet2013-06-10 06:35:15 +0000
committerGerrit Code Review @ Eclipse.org2013-06-10 06:35:15 +0000
commite9180dfc88bf36f010667296e2d30c8e811d3bec (patch)
treec38e95eac1ec0f432b9f0a4adaebe2c322226234
parent0d2c2576bd5f4c6d8a3fa5612ca139d32dd4e5d5 (diff)
parent750dfb32ad022630e9cd58052b1dcaabe32a9197 (diff)
downloadorg.eclipse.emf.compare-e9180dfc88bf36f010667296e2d30c8e811d3bec.tar.gz
org.eclipse.emf.compare-e9180dfc88bf36f010667296e2d30c8e811d3bec.tar.xz
org.eclipse.emf.compare-e9180dfc88bf36f010667296e2d30c8e811d3bec.zip
Merge "[410036] Fix bug on CascadingFilter" into 2.1
-rw-r--r--plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/CascadingDifferencesFilter.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/CascadingDifferencesFilter.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/CascadingDifferencesFilter.java
index 8426b6b4e..370b6b7bf 100644
--- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/CascadingDifferencesFilter.java
+++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/CascadingDifferencesFilter.java
@@ -40,14 +40,19 @@ public class CascadingDifferencesFilter extends AbstractDifferenceFilter {
final Diff diff = (Diff)input;
final Conflict conflict = diff.getConflict();
if (conflict == null || ConflictKind.PSEUDO == conflict.getKind()) {
- final EObject grandParent = diff.getMatch().eContainer();
+ final Match match = diff.getMatch();
+ final EObject grandParent = match.eContainer();
if (grandParent instanceof Match) {
ImmutableSet<EObject> containementDifferenceValues = MatchItemProviderSpec
.containmentReferencesValues((Match)grandParent);
if (MatchItemProviderSpec.matchOfContainmentDiff(containementDifferenceValues).apply(
- diff.getMatch())) {
+ match)) {
+ ret = true;
+ } else if (match.getLeft() == null && match.getRight() == null
+ && match.getOrigin() == null) {
ret = true;
}
+
}
}
}

Back to the top