summaryrefslogtreecommitdiff
path: root/src/buffer.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-11-12 20:11:27 +0100
committerMaxime Coste <frrrwww@gmail.com>2012-11-12 20:11:27 +0100
commit77272db0fd28af7ee9ade28434c52e628e4d5a32 (patch)
tree7c1b53d130b2ccfab4e3177d6354048aa238874c /src/buffer.hh
parent489621cf580b8eaca3b220f2be2512d72098f736 (diff)
make Buffer::{add,remove}_change_listener const and the listener list mutable
Diffstat (limited to 'src/buffer.hh')
-rw-r--r--src/buffer.hh8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/buffer.hh b/src/buffer.hh
index de5e0cbf..807f8acd 100644
--- a/src/buffer.hh
+++ b/src/buffer.hh
@@ -156,8 +156,8 @@ public:
// notify the buffer that it was saved in the current state
void notify_saved();
- void add_change_listener(BufferChangeListener& listener);
- void remove_change_listener(BufferChangeListener& listener);
+ void add_change_listener(BufferChangeListener& listener) const;
+ void remove_change_listener(BufferChangeListener& listener) const;
// returns an iterator pointing to the first character of the line
// iterator is on
@@ -224,7 +224,9 @@ private:
size_t m_last_save_undo_index;
size_t m_timestamp;
- std::vector<BufferChangeListener*> m_change_listeners;
+ // this mutable as adding or removing listeners is not muting the buffer
+ // observable state.
+ mutable std::vector<BufferChangeListener*> m_change_listeners;
OptionManager m_option_manager;
HookManager m_hook_manager;