mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 14:12:44 +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
	
	 Andreas Kling
						Andreas Kling