Tk Source Code

Check-in [ab37b4ef]
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to tclconference@googlegroups.com
or submit via the online form by Sep 9.

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

Overview
Comment:Tcl_Preserve should be first I guess
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | tip-438
Files: files | file ages | folders
SHA1:ab37b4ef8aff0ad3fa1143844843f9581b8be13b
User & Date: fvogel 2015-11-19 21:59:11
Context
2015-11-19
22:02
Rename "yupdate" to "sync" and fix various test-cases check-in: 625b52ac user: jan.nijtmans tags: tip-438
21:59
Tcl_Preserve should be first I guess check-in: ab37b4ef user: fvogel tags: tip-438
21:57
Make it compile with Visual 2008 check-in: a6d84c73 user: fvogel tags: tip-438
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tkTextDisp.c.

2942
2943
2944
2945
2946
2947
2948
2949
2950

2951
2952
2953
2954
2955
2956
2957
	/*
	 * We have looped over all lines, so we're done. We must release our
	 * refCount on the widget (the timer token was already set to NULL
	 * above). If there is a registered command, run that first.
	 */

	if (textPtr->afterSyncCmd != NULL) {
	    int code = Tcl_EvalObjEx(textPtr->interp, textPtr->afterSyncCmd, TCL_EVAL_GLOBAL);
	    Tcl_Preserve((ClientData)textPtr->interp);

	    if (code != TCL_OK && code != TCL_CONTINUE
			&& code != TCL_BREAK) {
		    Tcl_AddErrorInfo(textPtr->interp, "\n    (text yupdate)");
		    Tcl_BackgroundError(textPtr->interp);
	    }
	    Tcl_Release((ClientData)textPtr->interp);
	    Tcl_DecrRefCount(textPtr->afterSyncCmd);







|

>







2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
	/*
	 * We have looped over all lines, so we're done. We must release our
	 * refCount on the widget (the timer token was already set to NULL
	 * above). If there is a registered command, run that first.
	 */

	if (textPtr->afterSyncCmd != NULL) {
	    int code;
	    Tcl_Preserve((ClientData)textPtr->interp);
	    code = Tcl_EvalObjEx(textPtr->interp, textPtr->afterSyncCmd, TCL_EVAL_GLOBAL);
	    if (code != TCL_OK && code != TCL_CONTINUE
			&& code != TCL_BREAK) {
		    Tcl_AddErrorInfo(textPtr->interp, "\n    (text yupdate)");
		    Tcl_BackgroundError(textPtr->interp);
	    }
	    Tcl_Release((ClientData)textPtr->interp);
	    Tcl_DecrRefCount(textPtr->afterSyncCmd);