Fix selections getting unsorted on scroll

Fixes #3478
This commit is contained in:
Maxime Coste 2020-07-05 10:13:57 +10:00
parent f2cc7bc891
commit 8abf18209e
4 changed files with 9 additions and 1 deletions

View File

@ -1754,7 +1754,8 @@ void scroll_window(Context& context, LineCount offset, bool mouse_dragging)
win_pos.line = clamp(win_pos.line + offset, 0_line, line_count-1); win_pos.line = clamp(win_pos.line + offset, 0_line, line_count-1);
Selection& main_selection = context.selections().main(); SelectionList& selections = context.selections();
Selection& main_selection = selections.main();
const BufferCoord anchor = main_selection.anchor(); const BufferCoord anchor = main_selection.anchor();
const BufferCoord cursor = main_selection.cursor(); const BufferCoord cursor = main_selection.cursor();
@ -1775,6 +1776,8 @@ void scroll_window(Context& context, LineCount offset, bool mouse_dragging)
window.set_position(win_pos); window.set_position(win_pos);
main_selection = { new_anchor, new_cursor }; main_selection = { new_anchor, new_cursor };
selections.sort_and_merge_overlapping();
} }
} }

View File

@ -0,0 +1 @@
%sfoo<ret>(<pagedown>

View File

@ -0,0 +1,2 @@
foo
foo

View File

@ -0,0 +1,2 @@
foo
foo