aboutsummaryrefslogtreecommitdiff
path: root/src/WindowActionRouter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/WindowActionRouter.cpp')
-rw-r--r--src/WindowActionRouter.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/WindowActionRouter.cpp b/src/WindowActionRouter.cpp
index 51fb1af..c04b330 100644
--- a/src/WindowActionRouter.cpp
+++ b/src/WindowActionRouter.cpp
@@ -63,9 +63,13 @@ void WindowActionRouter::initialize() {
}
void WindowActionRouter::add_window(BrowserWindow *window) {
- window_map.insert({last_id, window});
- window->set_id(last_id);
+ auto win_id = last_id;
last_id++;
+
+ window_map.insert({win_id, window});
+ window->set_id(win_id);
+ connect(window, &BrowserWindow::closed, this,
+ [this, win_id]() { window_map.erase(win_id); });
}
const WindowMap &WindowActionRouter::windows() { return window_map; }