mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 09:48:11 +00:00
LibCore: Move post_event() back to EventLoopImplementation
This shouldn't have been moved to EventLoopManager, as the manager is global and one-per-process, and the implementation is one-per-loop. This makes cross-thread event posting work again, and unbreaks SoundPlayer (and probably other things as well.)
This commit is contained in:
parent
7035a19645
commit
b61a87c03c
7 changed files with 22 additions and 35 deletions
|
@ -74,12 +74,11 @@ void EventLoopImplementationQt::wake()
|
|||
m_event_loop.wakeUp();
|
||||
}
|
||||
|
||||
void EventLoopManagerQt::deferred_invoke(Function<void()> function)
|
||||
void EventLoopImplementationQt::post_event(Core::Object& receiver, NonnullOwnPtr<Core::Event>&& event)
|
||||
{
|
||||
VERIFY(function);
|
||||
QTimer::singleShot(0, [function = move(function)] {
|
||||
function();
|
||||
});
|
||||
m_thread_event_queue.post_event(receiver, move(event));
|
||||
if (&m_thread_event_queue != &Core::ThreadEventQueue::current())
|
||||
wake();
|
||||
}
|
||||
|
||||
static void qt_timer_fired(int timer_id, Core::TimerShouldFireWhenNotVisible should_fire_when_not_visible, Core::Object& object)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue