From 8626404ddb0f730495d10dad877e5506b6d49aff Mon Sep 17 00:00:00 2001 From: Zaggy1024 Date: Wed, 2 Aug 2023 23:03:54 -0500 Subject: [PATCH] LibCore: Store the event loop stack as a function-scope thread_local By allocating the event loop stack onto the heap, we were leaking it when exiting. This way, we should avoid ASAN being unhappy with us. --- Userland/Libraries/LibCore/EventLoop.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibCore/EventLoop.cpp b/Userland/Libraries/LibCore/EventLoop.cpp index 5a37979efd..7d721341ee 100644 --- a/Userland/Libraries/LibCore/EventLoop.cpp +++ b/Userland/Libraries/LibCore/EventLoop.cpp @@ -17,11 +17,11 @@ namespace Core { namespace { -thread_local Vector* s_event_loop_stack; Vector& event_loop_stack() { - if (!s_event_loop_stack) - s_event_loop_stack = new Vector; + thread_local OwnPtr> s_event_loop_stack = nullptr; + if (s_event_loop_stack == nullptr) + s_event_loop_stack = make>(); return *s_event_loop_stack; } }