#include "ParagraphList.h"
#include "Text.h"
+#include "mathed/InsetMath.h"
#include "mathed/MathData.h"
+#include "mathed/MathRow.h"
#include "insets/InsetText.h"
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_);
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
otherstack.top().bparams = new BufferParams(buffer_.params());
DocumentClassConstPtr olddc = buffer_.params().documentClassPtr();
buffer_.params() = *undo.bparams;
- // The error list is not supposed to be helpful here.
- ErrorList el;
cap::switchBetweenClasses(olddc, buffer_.params().documentClassPtr(),
- static_cast<InsetText &>(buffer_.inset()), el);
- LATTEST(el.empty());
+ static_cast<InsetText &>(buffer_.inset()));
} else if (dit.inMathed()) {
// We stored the full cell here as there is not much to be
// gained by storing just 'a few' paragraphs (most if not
bool Undo::Private::undoRedoAction(CursorData & cur, bool isUndoOperation)
{
+ if (buffer_.isReadonly())
+ return false;
+
undo_finished_ = true;
UndoElementStack & stack = isUndoOperation ? undostack_ : redostack_;