diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-11-08 18:17:19 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-11-08 18:17:19 +0100 |
commit | 16614be0a5dea0613fedb6bbbb9f0dd8879905a2 (patch) | |
tree | a942507f90d669a3432f0177592e6e59345483f2 /undo.cpp | |
parent | 779bb1654d20af6139f17bdaf9a38bcb75d20965 (diff) | |
download | sciteco-16614be0a5dea0613fedb6bbbb9f0dd8879905a2.tar.gz |
set UndoToken position only when it is required (undo enabled)
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) |