Tcl Source Code

Check-in [d6acbd8534]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix or at least improvement for Tcl/Tk Cocoa event loop by forcing Tcl_ServiceAll() event processing: http://core.tcl.tk/tk/tktview/3028676fffffffffffffffffffffffffffffffff
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: d6acbd85345d03232659a62e6b147a1ce000cb5d
User & Date: kevin_walzer 2015-03-10 14:44:47
Context
2015-04-23
11:21
Open linked folder shared on Windows - Patch [19ea026e43] check-in: 7d39fa6f82 user: oehhar tags: core-8-5-branch
2015-04-21
18:23
Proposed fix for bug 879a0747be Closed-Leaf check-in: 606edab7e3 user: dgp tags: bug-879a0747be
2015-03-11
12:25
merge mark check-in: 099f49094f user: dgp tags: trunk
2015-03-10
14:44
Fix or at least improvement for Tcl/Tk Cocoa event loop by forcing Tcl_ServiceAll() event processing... check-in: d6acbd8534 user: kevin_walzer tags: core-8-5-branch
2015-03-06
15:26
merge release check-in: b8c2c4a918 user: dgp tags: core-8-5-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to macosx/tclMacOSXNotify.c.

1373
1374
1375
1376
1377
1378
1379

1380
1381
1382
1383
1384
1385
1386
1387
	}
	tsdPtr->runLoopNestingLevel--;
	break;
    case kCFRunLoopBeforeWaiting:
	if (tsdPtr->runLoopTimer && !tsdPtr->runLoopServicingEvents &&
		(tsdPtr->runLoopNestingLevel > 1 || !tsdPtr->runLoopRunning)) {
	    tsdPtr->runLoopServicingEvents = 1;

	    while (Tcl_ServiceAll() && tsdPtr->waitTime == 0) {}
	    tsdPtr->runLoopServicingEvents = 0;
	}
	break;
    default:
	break;
    }
}







>
|







1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
	}
	tsdPtr->runLoopNestingLevel--;
	break;
    case kCFRunLoopBeforeWaiting:
	if (tsdPtr->runLoopTimer && !tsdPtr->runLoopServicingEvents &&
		(tsdPtr->runLoopNestingLevel > 1 || !tsdPtr->runLoopRunning)) {
	    tsdPtr->runLoopServicingEvents = 1;
           /* 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;
    default:
	break;
    }
}