X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FUndo.cpp;h=4e970df5a03cd4a394a9ef00de7798e6f4f01c1b;hb=975f304185eca53d62de8b36e6fc5f95b2da4fd9;hp=a870241d13b2475df8d9b25d18d07bce8c1ec15d;hpb=946d112ee6b5a8b341f81d5954f2d45dbb185268;p=features.git diff --git a/src/Undo.cpp b/src/Undo.cpp index a870241d13..4e970df5a0 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_;