diff options
Diffstat (limited to 'undo.cpp')
-rw-r--r-- | undo.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
@@ -10,8 +10,6 @@ UndoStack undo; -UndoToken::UndoToken() : pos(strlen(cmdline)) {} - void UndoTokenMessage::run(void) { @@ -19,20 +17,21 @@ UndoTokenMessage::run(void) } void -UndoStack::push_msg(unsigned int iMessage, uptr_t wParam, sptr_t lParam) +UndoStack::push(UndoToken *token) { - push(new UndoTokenMessage(iMessage, wParam, lParam)); + if (enabled) { + token->pos = strlen(cmdline); + SLIST_INSERT_HEAD(&head, token, tokens); + } else { + delete token; + } } -#if 0 -template <typename Type> void -UndoStack::push_var(Type &variable, Type value) +UndoStack::push_msg(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { - UndoToken *token = new UndoTokenVariable<Type>(variable, value); - SLIST_INSERT_HEAD(&head, token, tokens); + push(new UndoTokenMessage(iMessage, wParam, lParam)); } -#endif void UndoStack::pop(gint pos) |