diff options
Diffstat (limited to 'src/WindowActionRouter.cpp')
| -rw-r--r-- | src/WindowActionRouter.cpp | 8 |
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; } |
