commit adfd38e4efd1180df164fa2c75cf15210f366e94
Author: Juergen Spitzmueller <[email protected]>
Date:   Mon Jan 13 09:48:56 2020 +0100

    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 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/Text3.cpp b/src/Text3.cpp
index 664ffb4..8643411 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;
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to