summaryrefslogtreecommitdiffstats
path: root/macosx
diff options
context:
space:
mode:
authorKevin Walzer <kw@codebykevin.com>2015-03-10 14:41:03 (GMT)
committerKevin Walzer <kw@codebykevin.com>2015-03-10 14:41:03 (GMT)
commit959c071fb065b91581608603a67ec2fc18ccb47c (patch)
tree2a2710a8141de1573ba057a7026903b9998e16ef /macosx
parent0c3e45576dac76f9dfbf59b810856e77f2172329 (diff)
downloadtcl-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
Diffstat (limited to 'macosx')
-rw-r--r--macosx/tclMacOSXNotify.c3
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;