Add DestroyAllWindows helper that uses vector copy

This commit is contained in:
Kevin Sawicki 2017-04-06 14:25:22 -07:00
parent bfb9388191
commit 8311aa667c
3 changed files with 11 additions and 2 deletions

View file

@ -71,8 +71,7 @@ void Browser::Exit(mate::Arguments* args) {
} else {
// Unlike Quit(), we do not ask to close window, but destroy the window
// without asking.
for (NativeWindow* window : *window_list)
window->CloseContents(nullptr); // e.g. Destroy()
atom::WindowList::DestroyAllWindows();
}
}
}

View file

@ -76,6 +76,13 @@ void WindowList::CloseAllWindows() {
window->Close();
}
// static
void WindowList::DestroyAllWindows() {
WindowVector windows = GetInstance()->windows_;
for (const auto& window : windows)
window->CloseContents(nullptr); // e.g. Destroy()
}
WindowList::WindowList() {
}

View file

@ -51,6 +51,9 @@ class WindowList {
// Closes all windows.
static void CloseAllWindows();
// Destroy all windows.
static void DestroyAllWindows();
private:
WindowList();
~WindowList();