diff options
Diffstat (limited to 'src/buffer.cc')
| -rw-r--r-- | src/buffer.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/buffer.cc b/src/buffer.cc index f0205c54..9a735aaf 100644 --- a/src/buffer.cc +++ b/src/buffer.cc @@ -70,6 +70,8 @@ void Buffer::on_registered() return; } + m_flags |= Flags::NoBufSetOption; + run_hook_in_own_context(Hook::BufCreate, m_name); if (m_flags & Flags::File) @@ -82,6 +84,7 @@ void Buffer::on_registered() run_hook_in_own_context(Hook::BufOpenFile, m_name); } } + m_flags &= ~Flags::NoBufSetOption; for (auto& option : options().flatten_options() | transform(&std::unique_ptr<Option>::get) @@ -637,6 +640,9 @@ const FsStatus& Buffer::fs_status() const void Buffer::on_option_changed(const Option& option) { + if (m_flags & Flags::NoBufSetOption) + return; + if (option.name() == "readonly") { if (option.get<bool>()) |
