diff options
-rw-r--r-- | bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java index f2d3426e5..5b07e4ba9 100644 --- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java +++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java @@ -4869,15 +4869,28 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable { try { for (Iterator<?> iterator = fMerger.changesIterator(); iterator.hasNext();) { Diff diff = (Diff) iterator.next(); - int kind = diff.getKind(); - if (kind != RangeDifference.LEFT && kind != RangeDifference.RIGHT) { + switch (diff.getKind()) { + case RangeDifference.LEFT: + if (leftToRight) { + if (!compoundChangeStarted) { + target.beginCompoundChange(); + compoundChangeStarted= true; + } + copy(diff, leftToRight); + } + break; + case RangeDifference.RIGHT: + if (!leftToRight) { + if (!compoundChangeStarted) { + target.beginCompoundChange(); + compoundChangeStarted= true; + } + copy(diff, leftToRight); + } + break; + default: continue; } - if (!compoundChangeStarted) { - target.beginCompoundChange(); - compoundChangeStarted = true; - } - copy(diff, leftToRight); } } finally { if (compoundChangeStarted) { |