From fa753ff863e3776cb1778890cca395ec030a17bd Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 23 Oct 2021 23:10:55 +0200 Subject: [PATCH] LibCore: Pop the main Core::EventLoop off the stack when destroyed The main event loop pushes itself onto the event loop stack, and so it should also pop itself when destroyed. This will surface attempts to use the event loop stack after the main event loop has been destroyed. --- Userland/Libraries/LibCore/EventLoop.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Userland/Libraries/LibCore/EventLoop.cpp b/Userland/Libraries/LibCore/EventLoop.cpp index fafd7aaae3..d6a5a95ac6 100644 --- a/Userland/Libraries/LibCore/EventLoop.cpp +++ b/Userland/Libraries/LibCore/EventLoop.cpp @@ -293,6 +293,11 @@ EventLoop::EventLoop([[maybe_unused]] MakeInspectable make_inspectable) EventLoop::~EventLoop() { + // NOTE: Pop the main event loop off of the stack when destroyed. + if (this == s_main_event_loop) { + s_event_loop_stack->take_last(); + s_main_event_loop = nullptr; + } } bool connect_to_inspector_server()