mirror of
https://github.com/RGBCube/serenity
synced 2025-07-13 17:07:34 +00:00
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.
This commit is contained in:
parent
93496af02b
commit
716a3429fa
1 changed files with 2 additions and 2 deletions
|
@ -396,14 +396,14 @@ public:
|
||||||
EventLoopPusher(EventLoop& event_loop)
|
EventLoopPusher(EventLoop& event_loop)
|
||||||
: m_event_loop(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());
|
m_event_loop.take_pending_events_from(EventLoop::current());
|
||||||
s_event_loop_stack->append(event_loop);
|
s_event_loop_stack->append(event_loop);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
~EventLoopPusher()
|
~EventLoopPusher()
|
||||||
{
|
{
|
||||||
if (!is_main_event_loop()) {
|
if (EventLoop::has_been_instantiated()) {
|
||||||
s_event_loop_stack->take_last();
|
s_event_loop_stack->take_last();
|
||||||
EventLoop::current().take_pending_events_from(m_event_loop);
|
EventLoop::current().take_pending_events_from(m_event_loop);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue