Bug 574942 - Undo, Line End, Line Start... actions loose carets with block/multiple selection
- Maintain carets when undoing with active multiple carets
Change-Id: Ib61b9c2df27e4f8060b07548dcbcf1c065602472
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.text/+/191798
Tested-by: Platform Bot <platform-bot@eclipse.org>
Reviewed-by: Mickael Istria <mistria@redhat.com>
diff --git a/org.eclipse.jface.text/META-INF/MANIFEST.MF b/org.eclipse.jface.text/META-INF/MANIFEST.MF
index bf15c52..1dd68de 100644
--- a/org.eclipse.jface.text/META-INF/MANIFEST.MF
+++ b/org.eclipse.jface.text/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jface.text
-Bundle-Version: 3.20.0.qualifier
+Bundle-Version: 3.20.100.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package:
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewerUndoManager.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewerUndoManager.java
index e1e4d8a..edfe22c 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewerUndoManager.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewerUndoManager.java
@@ -175,7 +175,7 @@
// Reveal the change if this manager's viewer has the focus.
if (fTextViewer != null) {
StyledText widget= fTextViewer.getTextWidget();
- if (widget != null && !widget.isDisposed() && (widget.isFocusControl()))// || fTextViewer.getTextWidget() == control))
+ if (widget != null && !widget.isDisposed() && (widget.isFocusControl()) && (widget.getSelectionRanges().length <= 2))// || fTextViewer.getTextWidget() == control))
selectAndReveal(event.getOffset(), event.getText() == null ? 0 : event.getText().length());
}
}