/* * Copyright (c) 2023, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include namespace Core { EventLoopImplementation::EventLoopImplementation() : m_thread_event_queue(ThreadEventQueue::current()) { } EventLoopImplementation::~EventLoopImplementation() = default; void EventLoopImplementation::post_event(Object& receiver, NonnullOwnPtr&& event) { m_thread_event_queue.post_event(receiver, move(event)); // Wake up this EventLoopImplementation if this is a cross-thread event posting. if (&ThreadEventQueue::current() != &m_thread_event_queue) wake(); } }