mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-23 18:02:05 -05:00
LibGUI: Handle Window::hide() during Application teardown better
If a window is being torn down during app shutdown, the global application pointer may be nulled out already. So let's handle that case gracefully in Window::hide().
This commit is contained in:
parent
5bf9999652
commit
d9c5fdf5d5
1 changed files with 9 additions and 7 deletions
|
@ -196,15 +196,17 @@ void Window::hide()
|
|||
}
|
||||
}
|
||||
|
||||
bool app_has_visible_windows = false;
|
||||
for (auto& window : *all_windows) {
|
||||
if (window->is_visible()) {
|
||||
app_has_visible_windows = true;
|
||||
break;
|
||||
if (auto* app = Application::the()) {
|
||||
bool app_has_visible_windows = false;
|
||||
for (auto& window : *all_windows) {
|
||||
if (window->is_visible()) {
|
||||
app_has_visible_windows = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!app_has_visible_windows)
|
||||
app->did_delete_last_window({});
|
||||
}
|
||||
if (!app_has_visible_windows)
|
||||
Application::the()->did_delete_last_window({});
|
||||
}
|
||||
|
||||
void Window::set_title(const StringView& title)
|
||||
|
|
Loading…
Add table
Reference in a new issue