diff options
author | marc_culler <marc.culler@gmail.com> | 2020-07-12 20:50:12 (GMT) |
---|---|---|
committer | marc_culler <marc.culler@gmail.com> | 2020-07-12 20:50:12 (GMT) |
commit | af7543d7737a8987f2a209471913e6bbf4106b78 (patch) | |
tree | ea2375cfb455f4f7c7539513cb0873c4d506700c /macosx | |
parent | 3ebf832d92b4ac8ff72989f40f59146eb3fc6f67 (diff) | |
download | tk-af7543d7737a8987f2a209471913e6bbf4106b78.zip tk-af7543d7737a8987f2a209471913e6bbf4106b78.tar.gz tk-af7543d7737a8987f2a209471913e6bbf4106b78.tar.bz2 |
Process timer events as well as idle events in some of the inner event loops used by Tk
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/tkMacOSXEmbed.c | 4 | ||||
-rw-r--r-- | macosx/tkMacOSXEvent.c | 2 | ||||
-rw-r--r-- | macosx/tkMacOSXNotify.c | 2 | ||||
-rw-r--r-- | macosx/tkMacOSXWindowEvent.c | 4 |
4 files changed, 4 insertions, 8 deletions
diff --git a/macosx/tkMacOSXEmbed.c b/macosx/tkMacOSXEmbed.c index 6c4ac1f..e58cdd0 100644 --- a/macosx/tkMacOSXEmbed.c +++ b/macosx/tkMacOSXEmbed.c @@ -1049,9 +1049,7 @@ EmbedGeometryRequest( */ Tk_GeometryRequest((Tk_Window) winPtr, width, height); - while (Tcl_DoOneEvent(TCL_IDLE_EVENTS)) { - /* Empty loop body. */ - } + while (Tcl_DoOneEvent(TCL_IDLE_EVENTS|TCL_TIMER_EVENTS|TCL_DONT_WAIT)) {} if ((winPtr->changes.width != width) || (winPtr->changes.height != height)) { EmbedSendConfigure(containerPtr); diff --git a/macosx/tkMacOSXEvent.c b/macosx/tkMacOSXEvent.c index b9c9b6a..c543b8d 100644 --- a/macosx/tkMacOSXEvent.c +++ b/macosx/tkMacOSXEvent.c @@ -134,7 +134,7 @@ TkMacOSXFlushWindows(void) if (Tk_GetNumMainWindows() == 0) { return; } - while (Tcl_DoOneEvent(TCL_IDLE_EVENTS)){} + while (Tcl_DoOneEvent(TCL_IDLE_EVENTS|TCL_TIMER_EVENTS|TCL_DONT_WAIT)){} for (NSWindow *w in [NSApp orderedWindows]) { [w display]; } diff --git a/macosx/tkMacOSXNotify.c b/macosx/tkMacOSXNotify.c index a4a1125..00db7d6 100644 --- a/macosx/tkMacOSXNotify.c +++ b/macosx/tkMacOSXNotify.c @@ -530,9 +530,7 @@ TkMacOSXEventsCheckProc( * Generate Xevents. */ - int oldServiceMode = Tcl_SetServiceMode(TCL_SERVICE_ALL); NSEvent *processedEvent = [NSApp tkProcessEvent:currentEvent]; - Tcl_SetServiceMode(oldServiceMode); if (processedEvent) { eventsFound++; diff --git a/macosx/tkMacOSXWindowEvent.c b/macosx/tkMacOSXWindowEvent.c index a169a15..2de1550 100644 --- a/macosx/tkMacOSXWindowEvent.c +++ b/macosx/tkMacOSXWindowEvent.c @@ -1078,7 +1078,7 @@ ConfigureRestrictProc( /* * First process all of the Expose events. */ - while (Tcl_ServiceEvent(TCL_IDLE_EVENTS)) {}; + while (Tcl_ServiceEvent(TCL_IDLE_EVENTS|TCL_TIMER_EVENTS|TCL_DONT_WAIT)) {}; oldProc = Tk_RestrictEvents(ExposeRestrictProc, UINT2PTR(serial), &oldArg); while (Tcl_ServiceEvent(TCL_WINDOW_EVENTS)) {}; @@ -1097,7 +1097,7 @@ ConfigureRestrictProc( * that were created when the expose events were processed. */ - while (Tcl_DoOneEvent(TCL_IDLE_EVENTS)) {} + while (Tcl_DoOneEvent(TCL_IDLE_EVENTS|TCL_TIMER_EVENTS|TCL_DONT_WAIT)) {} } } |