From: Jean-Marc Lasgouttes Date: Tue, 16 Jul 2024 13:43:11 +0000 (+0200) Subject: Fix faulty undo recording X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=e57ccede186fa3705578a4908cbf8f96f5b9f5b5;p=lyx.git Fix faulty undo recording The recordUndo() call is very wrong, since we may be inserting over a selection covering several paragraphs (undo itself works at paragraph granularity). recordUndoSelection() is the right operation in this case. It is equivalent to recordUndo() when there is no selection. (cherry picked from commit 82f387dabc2b18de6a9917192f4304e92bff8bc1) --- diff --git a/src/Text.cpp b/src/Text.cpp index d314c251ae..767117a33a 100644 --- a/src/Text.cpp +++ b/src/Text.cpp @@ -3600,7 +3600,7 @@ bool doInsertInset(Cursor & cur, Text * text, if (InsetCollapsible * ci = inset->asInsetCollapsible()) ci->setButtonLabel(); - cur.recordUndo(); + cur.recordUndoSelection(); if (cmd.action() == LFUN_ARGUMENT_INSERT) { bool cotextinsert = false; InsetArgument * const ia = static_cast(inset); diff --git a/status.24x b/status.24x index 8e6a63cb9c..42df3bb1fe 100644 --- a/status.24x +++ b/status.24x @@ -67,6 +67,8 @@ What's new * INTERNALS +- Fix possible crash in undo code after inserting note inset over a multi-paragraph + selection. * DOCUMENTATION AND LOCALIZATION