From a978fd6a78baeb920e676cfef0d96877778c80ab Mon Sep 17 00:00:00 2001
From: Stefan Westerfeld <stefan@space.twc.de>
Date: Sun, 23 Jun 2019 17:41:43 +0200
Subject: Make event processing non-blocking on MacOS

---
 pugl/pugl_osx.m | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/pugl/pugl_osx.m b/pugl/pugl_osx.m
index aaae212..be900f1 100644
--- a/pugl/pugl_osx.m
+++ b/pugl/pugl_osx.m
@@ -677,8 +677,8 @@ puglWaitForEvent(PuglView* view)
 	   unsupported selector error at runtime.  I have no idea why, so just get
 	   the event and keep it around until the call to puglProcessEvents. */
 	if (!view->impl->nextEvent) {
-		view->impl->nextEvent = [view->impl->window
-		                            nextEventMatchingMask: NSAnyEventMask];
+		view->impl->nextEvent =
+			[view->impl->window nextEventMatchingMask:NSAnyEventMask];
 	}
 
 	return PUGL_SUCCESS;
@@ -690,8 +690,12 @@ puglProcessEvents(PuglView* view)
 	while (true) {
 		// Get the next event, or use the cached one from puglWaitForEvent
 		if (!view->impl->nextEvent) {
-			view->impl->nextEvent = [view->impl->window
-			                            nextEventMatchingMask: NSAnyEventMask];
+			view->impl->nextEvent =
+				[view->impl->window nextEventMatchingMask:NSAnyEventMask
+				                                untilDate:nil
+				                                   inMode:NSDefaultRunLoopMode
+				                                  dequeue:YES];
+
 		}
 
 		if (!view->impl->nextEvent) {
-- 
cgit v1.2.3