瀏覽代碼

LibCore: Fix event loop stacks on non-main threads

Previously, event loop stacks on non-main threads would always crash
because the condition for "am I the lowest-stacked loop" was still
"am I the main loop", which of course is no longer sensible. A simple
switch to `is_instantiated` fixes this.
kleines Filmröllchen 3 年之前
父節點
當前提交
716a3429fa
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      Userland/Libraries/LibCore/EventLoop.cpp

+ 2 - 2
Userland/Libraries/LibCore/EventLoop.cpp

@@ -396,14 +396,14 @@ public:
     EventLoopPusher(EventLoop& event_loop)
         : m_event_loop(event_loop)
     {
-        if (!is_main_event_loop()) {
+        if (EventLoop::has_been_instantiated()) {
             m_event_loop.take_pending_events_from(EventLoop::current());
             s_event_loop_stack->append(event_loop);
         }
     }
     ~EventLoopPusher()
     {
-        if (!is_main_event_loop()) {
+        if (EventLoop::has_been_instantiated()) {
             s_event_loop_stack->take_last();
             EventLoop::current().take_pending_events_from(m_event_loop);
         }