diff options
author | Kevin Walzer <kw@codebykevin.com> | 2015-03-10 14:41:03 (GMT) |
---|---|---|
committer | Kevin Walzer <kw@codebykevin.com> | 2015-03-10 14:41:03 (GMT) |
commit | 959c071fb065b91581608603a67ec2fc18ccb47c (patch) | |
tree | 2a2710a8141de1573ba057a7026903b9998e16ef | |
parent | 0c3e45576dac76f9dfbf59b810856e77f2172329 (diff) | |
download | tcl-959c071fb065b91581608603a67ec2fc18ccb47c.zip tcl-959c071fb065b91581608603a67ec2fc18ccb47c.tar.gz tcl-959c071fb065b91581608603a67ec2fc18ccb47c.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
-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 ef80192..9b7bd1a 100644 --- a/macosx/tclMacOSXNotify.c +++ b/macosx/tclMacOSXNotify.c @@ -1412,7 +1412,8 @@ UpdateWaitingListAndServiceEvents( (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; |