summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-01-29 19:15:50 +0000
committerMaxime Coste <frrrwww@gmail.com>2014-02-12 00:03:00 +0000
commit209a4a3ddf4618f0255b0120cb620bb8b89c3cbe (patch)
treee7a1891043c95bcca0e2941b07c18503aac18f0e /src
parentcdcdd41328e286060664cdd5ef599056be1049ff (diff)
ClientManager: use lifo behaviour for free windows
Diffstat (limited to 'src')
-rw-r--r--src/client_manager.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/client_manager.cc b/src/client_manager.cc
index 5c5ad902..91cc6406 100644
--- a/src/client_manager.cc
+++ b/src/client_manager.cc
@@ -83,7 +83,7 @@ void ClientManager::remove_client(Client& client)
WindowAndSelections ClientManager::get_free_window(Buffer& buffer)
{
- for (auto it = m_free_windows.begin(), end = m_free_windows.end();
+ for (auto it = m_free_windows.rbegin(), end = m_free_windows.rend();
it != end; ++it)
{
auto& w = it->window;
@@ -91,7 +91,7 @@ WindowAndSelections ClientManager::get_free_window(Buffer& buffer)
{
w->forget_timestamp();
WindowAndSelections res = std::move(*it);
- m_free_windows.erase(it);
+ m_free_windows.erase(it.base()-1);
return res;
}
}