// FIXME: this LFUN should also work without any view.
Buffer * buffer = (lv && lv->documentBufferView())
? &(lv->documentBufferView()->buffer()) : 0;
- buffer = &lv->currentBufferView()->buffer();
- if (buffer && !theBufferList().isLoaded(buffer))
- buffer = 0;
if (buffer)
buffer->undo().beginUndoGroup();
while (!arg.empty()) {
func.origin = cmd.origin;
dispatch(func);
}
- if (buffer)
+ // the buffer may have been closed by one action
+ if (theBufferList().isLoaded(buffer))
buffer->undo().endUndoGroup();
break;
}
}
}
- // Is this a function that acts on inset at point?
- Inset * inset = bv->cursor().nextInset();
- if (lyxaction.funcHasFlag(action, LyXAction::AtPoint)
- && inset) {
- bv->cursor().result().dispatched(true);
- bv->cursor().result().update(Update::FitCursor | Update::Force);
- FuncRequest tmpcmd = cmd;
- inset->dispatch(bv->cursor(), tmpcmd);
- if (bv->cursor().result().dispatched()) {
- updateFlags = bv->cursor().result().update();
- break;
- }
- }
-
// Let the current Cursor dispatch its own actions.
Cursor old = bv->cursor();
bv->cursor().getPos(cursorPosBeforeDispatchX_,