From bd97e46bc614bb86ff18ab493240dc9be2dabd05 Mon Sep 17 00:00:00 2001 From: Zufu Liu Date: Wed, 29 Oct 2025 17:10:25 +1100 Subject: Feature [feature-requests:#1567]. Fix bug when indenting rectangular selection. --- src/Editor.cxx | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/Editor.cxx b/src/Editor.cxx index 9f3999b08..eb31d40f9 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -4155,6 +4155,12 @@ int Editor::KeyDownWithModifiers(Keys key, KeyMod modifiers, bool *consumed) { void Editor::Indent(bool forwards, bool lineIndent) { UndoGroup ug(pdoc); + // Avoid problems with recalculating rectangular range multiple times by temporarily + // treating rectangular selection as multiple stream selection. + const Selection::SelTypes selType = sel.selType; + if (sel.IsRectangular()) { + sel.selType = Selection::SelTypes::stream; + } for (size_t r=0; rSciLineFromPosition(sel.Range(r).anchor.Position()); @@ -4231,6 +4237,8 @@ void Editor::Indent(bool forwards, bool lineIndent) { } } } + sel.selType = selType; // Restore rectangular mode + ThinRectangularRange(); ContainerNeedsUpdate(Update::Selection); } -- cgit v1.2.3