Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Richard2013-06-07 14:28:45 +0000
committerAxel Richard2013-06-07 14:29:11 +0000
commit750dfb32ad022630e9cd58052b1dcaabe32a9197 (patch)
tree9de3aa64ffa4f9bac601085ebeab0f7c7edea4f3
parent18f300895483d76675ee99094066dd208cab0af9 (diff)
downloadorg.eclipse.emf.compare-750dfb32ad022630e9cd58052b1dcaabe32a9197.tar.gz
org.eclipse.emf.compare-750dfb32ad022630e9cd58052b1dcaabe32a9197.tar.xz
org.eclipse.emf.compare-750dfb32ad022630e9cd58052b1dcaabe32a9197.zip
[410036] Fix bug on CascadingFilter
When merge a delete diff, the subdiffs were not hidden anymore. Bug: 410036 Change-Id: Iebdf04ace1a5ede5bf6a9801c24b43452f847422
-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