commit bfe98181169d9e697e515da974d9b6a15a06c940
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Sun Feb 20 19:48:13 2022 +0100
Make undo action no-ops when the buffer is read-only
Since the buffer cannot be modified, there is no point to record changes.
Avoids marking buffer dirty after running "inset-forall".
---
src/Undo.cpp | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/Undo.cpp b/src/Undo.cpp
index a870241..4e970df 100644
--- a/src/Undo.cpp
+++ b/src/Undo.cpp
@@ -374,6 +374,9 @@ void Undo::Private::recordUndo(UndoKind kind,
LASSERT(first_pit <= cell.lastpit(), return);
LASSERT(last_pit <= cell.lastpit(), return);
+ if (buffer_.isReadonly())
+ return;
+
doRecordUndo(kind, cell, first_pit, last_pit, cur,
undostack_);
@@ -408,6 +411,9 @@ void Undo::Private::doRecordUndoBufferParams(CursorData
const & cur_before,
void Undo::Private::recordUndoBufferParams(CursorData const & cur)
{
+ if (buffer_.isReadonly())
+ return;
+
doRecordUndoBufferParams(cur, undostack_);
// next time we'll try again to combine entries if possible
@@ -517,6 +523,9 @@ void Undo::Private::doUndoRedoAction(CursorData & cur,
UndoElementStack & stack,
bool Undo::Private::undoRedoAction(CursorData & cur, bool isUndoOperation)
{
+ if (buffer_.isReadonly())
+ return false;
+
undo_finished_ = true;
UndoElementStack & stack = isUndoOperation ? undostack_ : redostack_;
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs