From 16be88ca18719a98a555ced268431ca1040658b7 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Fri, 30 Aug 2024 16:56:16 +0200 Subject: [PATCH] Fix update of cursor in tab-delete when there is a selection The position of the cursor should not be decreased if it is already at the start of the paragraph. This can lead to a crash when trying to display the caret. --- src/Text.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Text.cpp b/src/Text.cpp index 7c0b18cbfd..327e3949ee 100644 --- a/src/Text.cpp +++ b/src/Text.cpp @@ -4629,10 +4629,9 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd) int const n = (c == ' ' ? 4 : 1); for (int i = 0; i < n && !par.empty() && par.getChar(0) == c; ++i) { - if (cur.pit() == pit) + if (cur.pit() == pit && cur.pos() > 0) cur.posBackward(); - if (cur.realAnchor().pit() == pit - && cur.realAnchor().pos() > 0 ) + if (cur.realAnchor().pit() == pit && cur.realAnchor().pos() > 0) cur.realAnchor().backwardPos(); par.eraseChar(0, tc); }