Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Replace all Tcl_TraceVar/Tcl_UntraceVar with Tcl_TraceVar2/Tcl_UntraceVar2 calls: The former are just thin wrappers around the latter. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
fd565de1f1490bbc2ea68ecd4134cc31 |
User & Date: | jan.nijtmans 2013-02-22 08:44:24 |
Context
2013-02-22
| ||
09:30 | Make sure the stubbed variants of Tcl_ObjSetVar2/Tcl_NewStringObj are never used in winMain.c/tkAppInit.c check-in: 34f2a92b user: jan.nijtmans tags: trunk | |
08:49 | merge trunk check-in: e9be868f user: jan.nijtmans tags: novem-support | |
08:44 | Replace all Tcl_TraceVar/Tcl_UntraceVar with Tcl_TraceVar2/Tcl_UntraceVar2 calls: The former are just thin wrappers around the latter. check-in: fd565de1 user: jan.nijtmans tags: trunk | |
2013-02-18
| ||
13:31 | Call XInitThreads once before the first Xlib call. Suggested by Brian Griffin. check-in: 2a535c67 user: jan.nijtmans tags: trunk | |
Changes
Changes to generic/tkButton.c.
︙ | ︙ | |||
958 959 960 961 962 963 964 | /* * Free up all the stuff that requires special handling, then let * Tk_FreeOptions handle all the standard option-related stuff. */ Tcl_DeleteCommandFromToken(butPtr->interp, butPtr->widgetCmd); if (butPtr->textVarNamePtr != NULL) { | | | | 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 | /* * Free up all the stuff that requires special handling, then let * Tk_FreeOptions handle all the standard option-related stuff. */ Tcl_DeleteCommandFromToken(butPtr->interp, butPtr->widgetCmd); if (butPtr->textVarNamePtr != NULL) { Tcl_UntraceVar2(butPtr->interp, Tcl_GetString(butPtr->textVarNamePtr), NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, ButtonTextVarProc, butPtr); } if (butPtr->image != NULL) { Tk_FreeImage(butPtr->image); } if (butPtr->selectImage != NULL) { Tk_FreeImage(butPtr->selectImage); |
︙ | ︙ | |||
993 994 995 996 997 998 999 | if (butPtr->copyGC != None) { Tk_FreeGC(butPtr->display, butPtr->copyGC); } if (butPtr->textLayout != NULL) { Tk_FreeTextLayout(butPtr->textLayout); } if (butPtr->selVarNamePtr != NULL) { | | | | 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 | if (butPtr->copyGC != None) { Tk_FreeGC(butPtr->display, butPtr->copyGC); } if (butPtr->textLayout != NULL) { Tk_FreeTextLayout(butPtr->textLayout); } if (butPtr->selVarNamePtr != NULL) { Tcl_UntraceVar2(butPtr->interp, Tcl_GetString(butPtr->selVarNamePtr), NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, ButtonVarProc, butPtr); } Tk_FreeConfigOptions((char *) butPtr, butPtr->optionTable, butPtr->tkwin); butPtr->tkwin = NULL; Tcl_EventuallyFree(butPtr, TCL_DYNAMIC); } |
︙ | ︙ | |||
1041 1042 1043 1044 1045 1046 1047 | Tk_Image image; /* * Eliminate any existing trace on variables monitored by the button. */ if (butPtr->textVarNamePtr != NULL) { | | | | | | 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 | Tk_Image image; /* * Eliminate any existing trace on variables monitored by the button. */ if (butPtr->textVarNamePtr != NULL) { Tcl_UntraceVar2(interp, Tcl_GetString(butPtr->textVarNamePtr), NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, ButtonTextVarProc, butPtr); } if (butPtr->selVarNamePtr != NULL) { Tcl_UntraceVar2(interp, Tcl_GetString(butPtr->selVarNamePtr), NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, ButtonVarProc, butPtr); } /* * The following loop is potentially executed twice. During the first pass * configuration options get set to their new values. If there is an error * in this pass, we execute a second pass to restore all the options to |
︙ | ︙ |
Changes to generic/tkCmds.c.
︙ | ︙ | |||
1027 1028 1029 1030 1031 1032 1033 | while (!done) { if (Tcl_Canceled(interp, TCL_LEAVE_ERR_MSG) == TCL_ERROR) { code = TCL_ERROR; break; } Tcl_DoOneEvent(0); } | | | | 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 | while (!done) { if (Tcl_Canceled(interp, TCL_LEAVE_ERR_MSG) == TCL_ERROR) { code = TCL_ERROR; break; } Tcl_DoOneEvent(0); } Tcl_UntraceVar2(interp, Tcl_GetString(objv[2]), NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, WaitVariableProc, &done); break; case TKWAIT_VISIBILITY: { Tk_Window window; window = Tk_NameToWindow(interp, Tcl_GetString(objv[2]), tkwin); |
︙ | ︙ |
Changes to generic/tkEntry.c.
︙ | ︙ | |||
1017 1018 1019 1020 1021 1022 1023 | /* * Free up all the stuff that requires special handling, then let * Tk_FreeOptions handle all the standard option-related stuff. */ ckfree((char *)entryPtr->string); if (entryPtr->textVarName != NULL) { | | | | 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 | /* * Free up all the stuff that requires special handling, then let * Tk_FreeOptions handle all the standard option-related stuff. */ ckfree((char *)entryPtr->string); if (entryPtr->textVarName != NULL) { Tcl_UntraceVar2(entryPtr->interp, entryPtr->textVarName, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, EntryTextVarProc, entryPtr); entryPtr->flags &= ~ENTRY_VAR_TRACED; } if (entryPtr->textGC != None) { Tk_FreeGC(entryPtr->display, entryPtr->textGC); } if (entryPtr->selTextGC != None) { |
︙ | ︙ | |||
1101 1102 1103 1104 1105 1106 1107 | /* * Eliminate any existing trace on a variable monitored by the entry. */ if ((entryPtr->textVarName != NULL) && (entryPtr->flags & ENTRY_VAR_TRACED)) { | | | 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 | /* * Eliminate any existing trace on a variable monitored by the entry. */ if ((entryPtr->textVarName != NULL) && (entryPtr->flags & ENTRY_VAR_TRACED)) { Tcl_UntraceVar2(interp, entryPtr->textVarName, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, EntryTextVarProc, entryPtr); entryPtr->flags &= ~ENTRY_VAR_TRACED; } /* * Store old values that we need to effect certain behavior if they change |
︙ | ︙ |
Changes to generic/tkListbox.c.
︙ | ︙ | |||
1440 1441 1442 1443 1444 1445 1446 | if (listPtr->listObj != NULL) { Tcl_DecrRefCount(listPtr->listObj); listPtr->listObj = NULL; } if (listPtr->listVarName != NULL) { | | | 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 | if (listPtr->listObj != NULL) { Tcl_DecrRefCount(listPtr->listObj); listPtr->listObj = NULL; } if (listPtr->listVarName != NULL) { Tcl_UntraceVar2(listPtr->interp, listPtr->listVarName, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, ListboxListVarProc, listPtr); } /* * Free the selection hash table. */ |
︙ | ︙ | |||
1548 1549 1550 1551 1552 1553 1554 | Tk_SavedOptions savedOptions; Tcl_Obj *oldListObj = NULL; Tcl_Obj *errorResult = NULL; int oldExport, error; oldExport = listPtr->exportSelection; if (listPtr->listVarName != NULL) { | | | 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 | Tk_SavedOptions savedOptions; Tcl_Obj *oldListObj = NULL; Tcl_Obj *errorResult = NULL; int oldExport, error; oldExport = listPtr->exportSelection; if (listPtr->listVarName != NULL) { Tcl_UntraceVar2(interp, listPtr->listVarName, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, ListboxListVarProc, listPtr); } for (error = 0; error <= 1; error++) { if (!error) { /* |
︙ | ︙ |
Changes to generic/tkMenu.c.
︙ | ︙ | |||
1488 1489 1490 1491 1492 1493 1494 | Tk_FreeImage(mePtr->selectImage); } if (((mePtr->type == CHECK_BUTTON_ENTRY) || (mePtr->type == RADIO_BUTTON_ENTRY)) && (mePtr->namePtr != NULL)) { const char *varName = Tcl_GetString(mePtr->namePtr); | | | 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 | Tk_FreeImage(mePtr->selectImage); } if (((mePtr->type == CHECK_BUTTON_ENTRY) || (mePtr->type == RADIO_BUTTON_ENTRY)) && (mePtr->namePtr != NULL)) { const char *varName = Tcl_GetString(mePtr->namePtr); Tcl_UntraceVar2(menuPtr->interp, varName, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, MenuVarProc, mePtr); } TkpDestroyMenuEntry(mePtr); TkMenuEntryFreeDrawOptions(mePtr); Tk_FreeConfigOptions((char *) mePtr, mePtr->optionTable, menuPtr->tkwin); ckfree(mePtr); |
︙ | ︙ | |||
1955 1956 1957 1958 1959 1960 1961 | */ if ((mePtr->namePtr != NULL) && ((mePtr->type == CHECK_BUTTON_ENTRY) || (mePtr->type == RADIO_BUTTON_ENTRY))) { const char *name = Tcl_GetString(mePtr->namePtr); | | | 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 | */ if ((mePtr->namePtr != NULL) && ((mePtr->type == CHECK_BUTTON_ENTRY) || (mePtr->type == RADIO_BUTTON_ENTRY))) { const char *name = Tcl_GetString(mePtr->namePtr); Tcl_UntraceVar2(menuPtr->interp, name, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, MenuVarProc, mePtr); } result = TCL_OK; if (menuPtr->tkwin != NULL) { if (Tk_SetOptions(menuPtr->interp, (char *) mePtr, |
︙ | ︙ | |||
2540 2541 2542 2543 2544 2545 2546 | /* * If the variable is being unset, then re-establish the trace. */ if (flags & TCL_TRACE_UNSETS) { mePtr->entryFlags &= ~ENTRY_SELECTED; if (flags & TCL_TRACE_DESTROYED) { | | | 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 | /* * If the variable is being unset, then re-establish the trace. */ if (flags & TCL_TRACE_UNSETS) { mePtr->entryFlags &= ~ENTRY_SELECTED; if (flags & TCL_TRACE_DESTROYED) { Tcl_TraceVar2(interp, name, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, MenuVarProc, clientData); } TkpConfigureMenuEntry(mePtr); TkEventuallyRedrawMenu(menuPtr, NULL); return NULL; } |
︙ | ︙ |
Changes to generic/tkMenubutton.c.
︙ | ︙ | |||
432 433 434 435 436 437 438 | /* * Free up all the stuff that requires special handling, then let * Tk_FreeOptions handle all the standard option-related stuff. */ Tcl_DeleteCommandFromToken(mbPtr->interp, mbPtr->widgetCmd); if (mbPtr->textVarName != NULL) { | | | 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 | /* * Free up all the stuff that requires special handling, then let * Tk_FreeOptions handle all the standard option-related stuff. */ Tcl_DeleteCommandFromToken(mbPtr->interp, mbPtr->widgetCmd); if (mbPtr->textVarName != NULL) { Tcl_UntraceVar2(mbPtr->interp, mbPtr->textVarName, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, MenuButtonTextVarProc, mbPtr); } if (mbPtr->image != NULL) { Tk_FreeImage(mbPtr->image); } if (mbPtr->normalTextGC != None) { |
︙ | ︙ | |||
502 503 504 505 506 507 508 | Tk_Image image; /* * Eliminate any existing trace on variables monitored by the menubutton. */ if (mbPtr->textVarName != NULL) { | | | 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 | Tk_Image image; /* * Eliminate any existing trace on variables monitored by the menubutton. */ if (mbPtr->textVarName != NULL) { Tcl_UntraceVar2(interp, mbPtr->textVarName, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, MenuButtonTextVarProc, mbPtr); } /* * The following loop is potentially executed twice. During the first pass * configuration options get set to their new values. If there is an error |
︙ | ︙ |
Changes to generic/tkMessage.c.
︙ | ︙ | |||
401 402 403 404 405 406 407 | if (msgPtr->textGC != None) { Tk_FreeGC(msgPtr->display, msgPtr->textGC); } if (msgPtr->textLayout != NULL) { Tk_FreeTextLayout(msgPtr->textLayout); } if (msgPtr->textVarName != NULL) { | | | 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | if (msgPtr->textGC != None) { Tk_FreeGC(msgPtr->display, msgPtr->textGC); } if (msgPtr->textLayout != NULL) { Tk_FreeTextLayout(msgPtr->textLayout); } if (msgPtr->textVarName != NULL) { Tcl_UntraceVar2(msgPtr->interp, msgPtr->textVarName, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, MessageTextVarProc, msgPtr); } Tk_FreeConfigOptions((char *) msgPtr, msgPtr->optionTable, msgPtr->tkwin); msgPtr->tkwin = NULL; ckfree(msgPtr); } |
︙ | ︙ | |||
446 447 448 449 450 451 452 | Tk_SavedOptions savedOptions; /* * Eliminate any existing trace on a variable monitored by the message. */ if (msgPtr->textVarName != NULL) { | | | 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 | Tk_SavedOptions savedOptions; /* * Eliminate any existing trace on a variable monitored by the message. */ if (msgPtr->textVarName != NULL) { Tcl_UntraceVar2(interp, msgPtr->textVarName, NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, MessageTextVarProc, msgPtr); } if (Tk_SetOptions(interp, (char *) msgPtr, msgPtr->optionTable, objc, objv, msgPtr->tkwin, &savedOptions, NULL) != TCL_OK) { Tk_RestoreSavedOptions(&savedOptions); |
︙ | ︙ |
Changes to generic/tkScale.c.
︙ | ︙ | |||
500 501 502 503 504 505 506 | /* * Free up all the stuff that requires special handling, then let * Tk_FreeOptions handle all the standard option-related stuff. */ if (scalePtr->varNamePtr != NULL) { | | | | 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 | /* * Free up all the stuff that requires special handling, then let * Tk_FreeOptions handle all the standard option-related stuff. */ if (scalePtr->varNamePtr != NULL) { Tcl_UntraceVar2(scalePtr->interp, Tcl_GetString(scalePtr->varNamePtr), NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, ScaleVarProc, scalePtr); } if (scalePtr->troughGC != None) { Tk_FreeGC(scalePtr->display, scalePtr->troughGC); } if (scalePtr->copyGC != None) { Tk_FreeGC(scalePtr->display, scalePtr->copyGC); |
︙ | ︙ | |||
557 558 559 560 561 562 563 | double varValue; /* * Eliminate any existing trace on a variable monitored by the scale. */ if (scalePtr->varNamePtr != NULL) { | | | | 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 | double varValue; /* * Eliminate any existing trace on a variable monitored by the scale. */ if (scalePtr->varNamePtr != NULL) { Tcl_UntraceVar2(interp, Tcl_GetString(scalePtr->varNamePtr), NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, ScaleVarProc, scalePtr); } for (error = 0; error <= 1; error++) { if (!error) { /* * First pass: set options to new values. |
︙ | ︙ |
Changes to generic/ttk/ttkTrace.c.
︙ | ︙ | |||
146 147 148 149 150 151 152 | * will do nothing, so don't try to call it. Instead set an * indicator in the Ttk_TraceHandle that we need to cleanup later. */ if (cd == NULL) { h->interp = NULL; return; } | | | | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | * will do nothing, so don't try to call it. Instead set an * indicator in the Ttk_TraceHandle that we need to cleanup later. */ if (cd == NULL) { h->interp = NULL; return; } Tcl_UntraceVar2(h->interp, Tcl_GetString(h->varnameObj), NULL, TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, VarTraceProc, (ClientData)h); Tcl_DecrRefCount(h->varnameObj); ckfree(h); } } /* |
︙ | ︙ |