diff options
author | nyamatongwe <unknown> | 2009-10-11 05:53:08 +0000 |
---|---|---|
committer | nyamatongwe <unknown> | 2009-10-11 05:53:08 +0000 |
commit | 6c39d53173ef8ae41a735e3f92c93b9322434b4f (patch) | |
tree | b4a88ef0029d6cadee07474b917881944224aa95 /src/Editor.cxx | |
parent | e7ac3b0ca3221f791b522e5a215f303c08f046ab (diff) | |
download | scintilla-mirror-6c39d53173ef8ae41a735e3f92c93b9322434b4f.tar.gz |
Fix for bug #2871749 where rectangular selection Shift+Alt+Down could not
move through wrapped lines.
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r-- | src/Editor.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index 45cf73bec..f4f78de86 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -4561,8 +4561,10 @@ void Editor::NewLine() { } void Editor::CursorUpOrDown(int direction, Selection::selTypes selt) { - Point pt = PointMainCaret(); - int lineDoc = pdoc->LineFromPosition(sel.MainCaret()); + SelectionPosition caretToUse = sel.IsRectangular() ? + sel.Rectangular().caret : sel.Range(sel.Main()).caret; + Point pt = LocationFromPosition(caretToUse); + int lineDoc = pdoc->LineFromPosition(caretToUse.Position()); Point ptStartLine = LocationFromPosition(pdoc->LineStart(lineDoc)); int subLine = (pt.y - ptStartLine.y) / vs.lineHeight; int commentLines = vs.annotationVisible ? pdoc->AnnotationLines(lineDoc) : 0; |