1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-21 15:55:07 +00:00

LibGUI: Turn GUI::Application::the() into a pointer

During app teardown, the Application object may be destroyed before
something else, and so having Application::the() return a reference was
obscuring the truth about its lifetime.

This patch makes the API more honest by returning a pointer. While
this makes call sites look a bit more sketchy, do note that the global
Application pointer only becomes null during app teardown.
This commit is contained in:
Andreas Kling 2020-07-04 16:52:01 +02:00
parent f7577585a6
commit ca93c22ae2
26 changed files with 51 additions and 49 deletions

View file

@ -61,7 +61,7 @@ static void set_system_theme_from_shbuf_id(int id)
auto system_theme = SharedBuffer::create_from_shbuf_id(id);
ASSERT(system_theme);
Gfx::set_system_theme(*system_theme);
Application::the().set_system_palette(*system_theme);
Application::the()->set_system_palette(*system_theme);
}
void WindowServerConnection::handshake()
@ -154,7 +154,7 @@ void WindowServerConnection::handle(const Messages::WindowClient::KeyDown& messa
}
if (!action) {
action = Application::the().action_for_key_event(*key_event);
action = Application::the()->action_for_key_event(*key_event);
#ifdef KEYBOARD_SHORTCUTS_DEBUG
dbg() << " > Asked application, got action: " << action;
#endif