diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/qregisters.cpp | 8 | ||||
-rw-r--r-- | src/qregisters.h | 7 | ||||
-rw-r--r-- | src/ring.h | 4 |
3 files changed, 11 insertions, 8 deletions
diff --git a/src/qregisters.cpp b/src/qregisters.cpp index b2987b3..6eea64f 100644 --- a/src/qregisters.cpp +++ b/src/qregisters.cpp @@ -56,6 +56,14 @@ namespace QRegisters { QRegisterTable *locals = NULL; QRegister *current = NULL; + void + undo_edit(void) + { + current->dot = interface.ssm(SCI_GETCURRENTPOS); + undo.push_var(ring.current); + undo.push_var(current)->undo_edit(); + } + static QRegisterStack stack; } diff --git a/src/qregisters.h b/src/qregisters.h index 651be1e..a5b20cb 100644 --- a/src/qregisters.h +++ b/src/qregisters.h @@ -357,12 +357,7 @@ namespace QRegisters { extern QRegisterTable *locals; extern QRegister *current; - static inline void - undo_edit(void) - { - current->dot = interface.ssm(SCI_GETCURRENTPOS); - undo.push_var(current)->undo_edit(); - } + void undo_edit(void); enum Hook { HOOK_ADD = 1, @@ -208,8 +208,8 @@ public: undo_edit(void) { current->dot = interface.ssm(SCI_GETCURRENTPOS); - undo.push_var(current); - current->undo_edit(); + undo.push_var(QRegisters::current); + undo.push_var(current)->undo_edit(); } bool save(const gchar *filename); |