diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-11-20 01:29:47 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-11-20 01:29:47 +0100 |
commit | 4282e7d6b2f2cd73e93bf478a4aae4ce92481808 (patch) | |
tree | 87ab1d9cb0d8601e61e576dd4d5c39cf59854a78 /src/qregisters.cpp | |
parent | d4f8fb3efcb60cc2cd39ecb7ca65706db4c7b6ad (diff) | |
download | sciteco-4282e7d6b2f2cd73e93bf478a4aae4ce92481808.tar.gz |
allow a current buffer if we're editing a Q-Register
this eases handling of the "*" register
Diffstat (limited to 'src/qregisters.cpp')
-rw-r--r-- | src/qregisters.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/qregisters.cpp b/src/qregisters.cpp index 98edb0b..fdb804b 100644 --- a/src/qregisters.cpp +++ b/src/qregisters.cpp @@ -228,9 +228,6 @@ QRegisterBufferInfo::get_integer(void) { tecoInt id = 1; - if (!ring.current) - return 0; - for (Buffer *buffer = ring.first(); buffer != ring.current; buffer = buffer->next()) @@ -242,7 +239,7 @@ QRegisterBufferInfo::get_integer(void) gchar * QRegisterBufferInfo::get_string(void) { - return g_strdup(ring.current ? ring.current->filename : ""); + return g_strdup(ring.current->filename ? : ""); } void @@ -252,7 +249,7 @@ QRegisterBufferInfo::edit(void) QRegisters::view.ssm(SCI_BEGINUNDOACTION); QRegisters::view.ssm(SCI_SETTEXT, 0, - (sptr_t)(ring.current ? ring.current->filename : "")); + (sptr_t)(ring.current->filename ? : "")); QRegisters::view.ssm(SCI_ENDUNDOACTION); QRegisters::view.undo_ssm(SCI_UNDO); @@ -267,12 +264,14 @@ QRegisterTable::QRegisterTable(bool _undo) : RBTree(), must_undo(_undo) insert(q); } +/* + * NOTE: by not making this inline, + * we can access QRegisters::current + */ void QRegisterTable::edit(QRegister *reg) { reg->edit(); - - ring.current = NULL; QRegisters::current = reg; } |