diff options
author | Kevin Walzer <kw@codebykevin.com> | 2015-03-10 14:44:47 (GMT) |
---|---|---|
committer | Kevin Walzer <kw@codebykevin.com> | 2015-03-10 14:44:47 (GMT) |
commit | 474530cbab83e3898f889a99f8e4421296a34db5 (patch) | |
tree | b804bd7c91b30a519139989d5af3a82fa6392357 /macosx | |
parent | 484e7d2a8f9cb45329427e73a7aa4e5346c2318d (diff) | |
download | tcl-474530cbab83e3898f889a99f8e4421296a34db5.zip tcl-474530cbab83e3898f889a99f8e4421296a34db5.tar.gz tcl-474530cbab83e3898f889a99f8e4421296a34db5.tar.bz2 |
Fix or at least improvement for Tcl/Tk Cocoa event loop by forcing Tcl_ServiceAll() event processing: http://core.tcl.tk/tk/tktview/3028676fffffffffffffffffffffffffffffffff
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/tclMacOSXNotify.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/macosx/tclMacOSXNotify.c b/macosx/tclMacOSXNotify.c index fb3c848..2252ec1 100644 --- a/macosx/tclMacOSXNotify.c +++ b/macosx/tclMacOSXNotify.c @@ -1377,7 +1377,8 @@ UpdateWaitingListAndServiceEvents( if (tsdPtr->runLoopTimer && !tsdPtr->runLoopServicingEvents && (tsdPtr->runLoopNestingLevel > 1 || !tsdPtr->runLoopRunning)) { tsdPtr->runLoopServicingEvents = 1; - while (Tcl_ServiceAll() && tsdPtr->waitTime == 0) {} + /* This call seems to simply force event processing through and prevents hangups that have long been observed with Tk-Cocoa. */ + Tcl_ServiceAll(); tsdPtr->runLoopServicingEvents = 0; } break; |