From 2cec20fa28262d7d87150c588c42405dafd8cc85 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Mon, 13 Jan 2020 09:48:56 +0100 Subject: [PATCH] Fix backspace deletion of selected items with change tracking Move cursor at beginning of selection after deletion. Else backspace operation gets stuck in a loop (tries to remove the selection again and again). This also fixes backspace deletion of insets with confirmDeletion() == true. Fixes #11630 --- src/Text3.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Text3.cpp b/src/Text3.cpp index 664ffb459b..8643411da1 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -1250,7 +1250,13 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd) } } } else { + DocIterator const dit = cur.selectionBegin(); cutSelection(cur, false); + if (cur.buffer()->params().track_changes) + // since we're doing backwards deletion, + // and the selection is not really cut, + // move cursor before selection (#11630) + cur.setCursor(dit); singleParUpdate = false; } break; -- 2.39.5