From 77272db0fd28af7ee9ade28434c52e628e4d5a32 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Mon, 12 Nov 2012 20:11:27 +0100 Subject: make Buffer::{add,remove}_change_listener const and the listener list mutable --- src/buffer.hh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/buffer.hh') 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 m_change_listeners; + // this mutable as adding or removing listeners is not muting the buffer + // observable state. + mutable std::vector m_change_listeners; OptionManager m_option_manager; HookManager m_hook_manager; -- cgit v1.2.3