Cursor old = *this;
disp_ = DispatchResult();
- buffer()->undo().beginUndoGroup();
+ beginUndoGroup();
// Is this a function that acts on inset at point?
if (lyxaction.funcHasFlag(cmd.action(), LyXAction::AtPoint)
<< cmd0 << endl << *this);
nextInset()->dispatch(*this, tmpcmd);
if (disp_.dispatched()) {
- buffer()->undo().endUndoGroup();
+ endUndoGroup();
return;
}
}
// are possible which would change it
beforeDispatchCursor_ = safe.beforeDispatchCursor_;
}
- buffer()->undo().endUndoGroup();
+ endUndoGroup();
// notify insets we just left
if (*this != old) {
docstring const name = s.substr(1);
InsetMathNest * const in = inset().asInsetMath()->asNestInset();
- if (in && in->interpretString(*this, s))
+ if (in && in->interpretString(*this, s)) {
+ // end undo group that was opened before in was created
+ endUndoGroup();
return true;
+ }
MathAtom atom = buffer()->getMacro(name, *this, false) ?
MathAtom(new MathMacro(buffer(), name)) : createInsetMath(name, buffer());
else
insert(selection);
}
-
+
+ // end undo group that was opened before in was created
+ endUndoGroup();
return true;
}
void Cursor::endUndoGroup() const
{
- buffer()->undo().endUndoGroup();
+ buffer()->undo().endUndoGroup(*this);
}