Dont consider OptionManager watcher list as part of the state of the option manager
This commit is contained in:
parent
c7876c9b4b
commit
0de4fc75d0
|
@ -26,13 +26,13 @@ OptionManager::~OptionManager()
|
|||
kak_assert(m_watchers.empty());
|
||||
}
|
||||
|
||||
void OptionManager::register_watcher(OptionManagerWatcher& watcher)
|
||||
void OptionManager::register_watcher(OptionManagerWatcher& watcher) const
|
||||
{
|
||||
kak_assert(not contains(m_watchers, &watcher));
|
||||
m_watchers.push_back(&watcher);
|
||||
}
|
||||
|
||||
void OptionManager::unregister_watcher(OptionManagerWatcher& watcher)
|
||||
void OptionManager::unregister_watcher(OptionManagerWatcher& watcher) const
|
||||
{
|
||||
auto it = find(m_watchers.begin(), m_watchers.end(), &watcher);
|
||||
kak_assert(it != m_watchers.end());
|
||||
|
|
|
@ -91,8 +91,8 @@ public:
|
|||
using OptionList = Vector<const Option*>;
|
||||
OptionList flatten_options() const;
|
||||
|
||||
void register_watcher(OptionManagerWatcher& watcher);
|
||||
void unregister_watcher(OptionManagerWatcher& watcher);
|
||||
void register_watcher(OptionManagerWatcher& watcher) const;
|
||||
void unregister_watcher(OptionManagerWatcher& watcher) const;
|
||||
|
||||
void on_option_changed(const Option& option) override;
|
||||
private:
|
||||
|
@ -105,7 +105,7 @@ private:
|
|||
Vector<std::unique_ptr<Option>, MemoryDomain::Options> m_options;
|
||||
OptionManager* m_parent;
|
||||
|
||||
Vector<OptionManagerWatcher*, MemoryDomain::Options> m_watchers;
|
||||
mutable Vector<OptionManagerWatcher*, MemoryDomain::Options> m_watchers;
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
|
|
Loading…
Reference in New Issue
Block a user