diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-02-23 20:39:56 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-02-23 20:39:56 +0000 |
| commit | 0a6901899d844a51ddda3727b587736055b65857 (patch) | |
| tree | a522f687a95cf5ed024af9ab544deac6bb6b83f0 /src/buffer_manager.cc | |
| parent | 37a14032956003c6301ff862053e90cbd153ef2c (diff) | |
Use RefPtr as SafePtr backend
Diffstat (limited to 'src/buffer_manager.cc')
| -rw-r--r-- | src/buffer_manager.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/buffer_manager.cc b/src/buffer_manager.cc index 74cacdb2..db3e37c5 100644 --- a/src/buffer_manager.cc +++ b/src/buffer_manager.cc @@ -36,7 +36,7 @@ void BufferManager::unregister_buffer(Buffer& buffer) { for (auto it = m_buffers.begin(); it != m_buffers.end(); ++it) { - if (*it == &buffer) + if (it->get() == &buffer) { m_buffers.erase(it); return; @@ -44,7 +44,7 @@ void BufferManager::unregister_buffer(Buffer& buffer) } for (auto it = m_buffer_trash.begin(); it != m_buffer_trash.end(); ++it) { - if (*it == &buffer) + if (it->get() == &buffer) { m_buffer_trash.erase(it); return; @@ -57,7 +57,7 @@ void BufferManager::delete_buffer(Buffer& buffer) { for (auto it = m_buffers.begin(); it != m_buffers.end(); ++it) { - if (*it == &buffer) + if (it->get() == &buffer) { if (ClientManager::has_instance()) ClientManager::instance().ensure_no_client_uses_buffer(buffer); @@ -98,7 +98,8 @@ Buffer& BufferManager::get_buffer(StringView name) void BufferManager::set_last_used_buffer(Buffer& buffer) { - auto it = find(m_buffers, &buffer); + auto it = find_if(m_buffers, [&buffer](const SafePtr<Buffer>& p) + { return p.get() == &buffer; }); kak_assert(it != m_buffers.end()); m_buffers.erase(it); m_buffers.emplace(m_buffers.begin(), &buffer); |
