diff options
-rw-r--r-- | doc/ScintillaHistory.html | 4 | ||||
-rw-r--r-- | src/Editor.cxx | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 5a0641749..f3f495c32 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -530,6 +530,10 @@ matching keywords that have particular prefixes and/or suffixes. </li> <li> + Fix caret position after left or right movement with rectangular selection. + <a href="http://sourceforge.net/p/scintilla/bugs/1861/">Bug #1861</a>. + </li> + <li> In SciTE, optional prefix argument added to scite.ConstantName method. <a href="http://sourceforge.net/p/scintilla/bugs/1860/">Bug #1860</a>. </li> diff --git a/src/Editor.cxx b/src/Editor.cxx index bb608d08c..b6e57212b 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -3319,13 +3319,13 @@ int Editor::HorizontalMove(unsigned int iMessage) { sel.selType = Selection::selRectangle; sel.Rectangular() = SelectionRange(spCaret, rangeBase.anchor); SetRectangularRange(); + } else if (sel.IsRectangular()) { + // Not a rectangular extension so switch to stream. + const SelectionPosition selAtLimit = + (NaturalDirection(iMessage) > 0) ? sel.Limits().end : sel.Limits().start; + sel.selType = Selection::selStream; + sel.SetSelection(SelectionRange(selAtLimit)); } else { - if (sel.IsRectangular()) { - // Not a rectangular extension so switch to stream. - SelectionPosition selAtLimit = (NaturalDirection(iMessage) > 0) ? sel.Limits().end : sel.Limits().start; - sel.selType = Selection::selStream; - sel.SetSelection(SelectionRange(selAtLimit)); - } if (!additionalSelectionTyping) { InvalidateWholeSelection(); sel.DropAdditionalRanges(); |