summaryrefslogtreecommitdiff
path: root/src/buffer_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/buffer_manager.cc')
-rw-r--r--src/buffer_manager.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/buffer_manager.cc b/src/buffer_manager.cc
index c7d8f0aa..ea86beb9 100644
--- a/src/buffer_manager.cc
+++ b/src/buffer_manager.cc
@@ -47,6 +47,9 @@ Buffer* BufferManager::create_buffer(String name, Buffer::Flags flags, BufferLin
void BufferManager::delete_buffer(Buffer& buffer)
{
+ if (buffer.flags() & Buffer::Flags::Locked)
+ throw runtime_error{"Trying to delete a locked buffer"};
+
auto it = find_if(m_buffers, [&](auto& p) { return p.get() == &buffer; });
if (it == m_buffers.end()) // we might be trying to recursively delete this buffer
return;