diff options
Diffstat (limited to 'include/svl/undo.hxx')
-rw-r--r-- | include/svl/undo.hxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/svl/undo.hxx b/include/svl/undo.hxx index a7d1e4753712..eca3f4abd4a6 100644 --- a/include/svl/undo.hxx +++ b/include/svl/undo.hxx @@ -289,8 +289,11 @@ public: /** removes a mark given by its ID. After the call, the mark ID is invalid. + + @return the index at which the mark was removed, or std::numeric_limits<size_t>::max() + if failed */ - void RemoveMark( UndoStackMark const i_mark ); + size_t RemoveMark(UndoStackMark const i_mark); /** determines whether the top action on the Undo stack has a given mark */ @@ -306,6 +309,11 @@ protected: bool UndoWithContext( SfxUndoContext& i_context ); bool RedoWithContext( SfxUndoContext& i_context ); + // Undoes a specific mark on the undo stack, and removes it from the undo/redo stack, + // but only in case when the redo stack is empty. This is a dangerous operation, because + // it undoes out of order. + void UndoMark(UndoStackMark i_mark); + void ImplClearRedo_NoLock( bool const i_currentLevel ); /** clears all undo actions on the current level, plus all undo actions on superordinate levels, |