From: Juergen Spitzmueller Date: Mon, 13 Jan 2020 08:48:56 +0000 (+0100) Subject: Fix backspace deletion of selected items with change tracking X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=2cec20fa28262d7d87150c588c42405dafd8cc85;p=features.git 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 --- 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;