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 | 544df0c1b80d0d889677b4b9e3aab4eb6b511779 (patch) | |
| tree | 2a2710a8141de1573ba057a7026903b9998e16ef | |
| parent | 83f6249875ef57b3e5555d7c0e289c6a45c0e7d8 (diff) | |
| download | tcl-544df0c1b80d0d889677b4b9e3aab4eb6b511779.zip tcl-544df0c1b80d0d889677b4b9e3aab4eb6b511779.tar.gz tcl-544df0c1b80d0d889677b4b9e3aab4eb6b511779.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; |
