diff options
Diffstat (limited to 'bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java')
-rw-r--r-- | bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java | 15 |
1 files changed, 13 insertions, 2 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 fcdc3ed24..e0ac759bd 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 @@ -2998,7 +2998,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable { */ private void documentChanged(DocumentEvent e, boolean dirty) { - IDocument doc= e.getDocument(); + final IDocument doc= e.getDocument(); if (doc == fLeft.getSourceViewer().getDocument()) { setLeftDirty(dirty); @@ -3007,8 +3007,19 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable { } if (!isLeftDirty() && !isRightDirty()) { fRedoDiff = false; + new UIJob(CompareMessages.DocumentMerger_0) { + public IStatus runInUIThread(IProgressMonitor monitor) { + if (!getControl().isDisposed()) { + doDiff(); + invalidateLines(); + updateLines(doc); + } + return Status.OK_STATUS; + } + }.schedule(); + } else { + updateLines(doc); } - updateLines(doc); } /* |