Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Restore selected code improvements that missed the 8.5.14 release. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core-8-5-branch |
Files: | files | file ages | folders |
SHA1: |
a7b38621665169c6097ad22963c1aef9 |
User & Date: | dgp 2013-04-03 13:44:31 |
Context
2013-04-03
| ||
20:17 | Remove unused variable. Remove tkStubLib.o from tk85.dll. On Windows, data cannot be exported from dll's anyway, so it's just dead code. On UNIX, it makes a difference, and it would be a potential incompatibility to remove it. check-in: 66f47c63 user: jan.nijtmans tags: core-8-5-branch | |
13:53 | merge-mark check-in: d1122c1d user: dgp tags: trunk | |
13:44 | Restore selected code improvements that missed the 8.5.14 release. check-in: a7b38621 user: dgp tags: core-8-5-branch | |
13:24 | merge release to 8.5; revert features not included in release check-in: 2d26c9cb user: dgp tags: core-8-5-branch | |
Changes
Changes to generic/tkCmds.c.
︙ | ︙ | |||
228 229 230 231 232 233 234 | TkWindow *winPtr, /* Pointer to info about window. */ XEvent *eventPtr) /* Information about event. */ { #define MAX_OBJS 20 ClientData objects[MAX_OBJS], *objPtr; TkWindow *topLevPtr; int i, count; | | | | 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | TkWindow *winPtr, /* Pointer to info about window. */ XEvent *eventPtr) /* Information about event. */ { #define MAX_OBJS 20 ClientData objects[MAX_OBJS], *objPtr; TkWindow *topLevPtr; int i, count; const char *p; Tcl_HashEntry *hPtr; if ((winPtr->mainPtr == NULL) || (winPtr->mainPtr->bindingTable == NULL)) { return; } objPtr = objects; if (winPtr->numTags != 0) { /* * Make a copy of the tags for the window, replacing window names with * pointers to the pathName from the appropriate window. */ if (winPtr->numTags > MAX_OBJS) { objPtr = (ClientData *) ckalloc((unsigned) (winPtr->numTags * sizeof(ClientData))); } for (i = 0; i < winPtr->numTags; i++) { p = winPtr->tagPtr[i]; if (*p == '.') { hPtr = Tcl_FindHashEntry(&winPtr->mainPtr->nameTable, p); if (hPtr != NULL) { p = ((TkWindow *) Tcl_GetHashValue(hPtr))->pathName; } else { p = NULL; } |
︙ | ︙ | |||
323 324 325 326 327 328 329 | winPtr = (TkWindow *) Tk_NameToWindow(interp, Tcl_GetString(objv[1]), tkwin); if (winPtr == NULL) { return TCL_ERROR; } if (objc == 2) { listPtr = Tcl_NewObj(); | < | 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | winPtr = (TkWindow *) Tk_NameToWindow(interp, Tcl_GetString(objv[1]), tkwin); if (winPtr == NULL) { return TCL_ERROR; } if (objc == 2) { listPtr = Tcl_NewObj(); if (winPtr->numTags == 0) { Tcl_ListObjAppendElement(interp, listPtr, Tcl_NewStringObj(winPtr->pathName, -1)); Tcl_ListObjAppendElement(interp, listPtr, Tcl_NewStringObj(winPtr->classUid, -1)); winPtr2 = winPtr; while ((winPtr2 != NULL) && !(Tk_TopWinHierarchy(winPtr2))) { |
︙ | ︙ | |||
346 347 348 349 350 351 352 | } else { for (i = 0; i < winPtr->numTags; i++) { Tcl_ListObjAppendElement(interp, listPtr, Tcl_NewStringObj((char *)winPtr->tagPtr[i], -1)); } } Tcl_SetObjResult(interp, listPtr); | < | 345 346 347 348 349 350 351 352 353 354 355 356 357 358 | } else { for (i = 0; i < winPtr->numTags; i++) { Tcl_ListObjAppendElement(interp, listPtr, Tcl_NewStringObj((char *)winPtr->tagPtr[i], -1)); } } Tcl_SetObjResult(interp, listPtr); return TCL_OK; } if (winPtr->tagPtr != NULL) { TkFreeBindingTags(winPtr); } if (Tcl_ListObjGetElements(interp, objv[2], &length, &tags) != TCL_OK) { return TCL_ERROR; |
︙ | ︙ | |||
407 408 409 410 411 412 413 | */ void TkFreeBindingTags( TkWindow *winPtr) /* Window whose tags are to be released. */ { int i; | | | | 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 | */ void TkFreeBindingTags( TkWindow *winPtr) /* Window whose tags are to be released. */ { int i; const char *p; for (i = 0; i < winPtr->numTags; i++) { p = winPtr->tagPtr[i]; if (*p == '.') { /* * Names starting with "." are malloced rather than Uids, so they * have to be freed. */ ckfree((char *)p); |
︙ | ︙ | |||
1499 1500 1501 1502 1503 1504 1505 | return TCL_ERROR; } tkwin = Tk_CoordsToWindow(x, y, tkwin); if (tkwin != NULL) { Tcl_SetStringObj(resultPtr, Tk_PathName(tkwin), -1); } break; | | < < | < < | 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 | return TCL_ERROR; } tkwin = Tk_CoordsToWindow(x, y, tkwin); if (tkwin != NULL) { Tcl_SetStringObj(resultPtr, Tk_PathName(tkwin), -1); } break; case WIN_INTERPS: skip = TkGetDisplayOf(interp, objc - 2, objv + 2, &tkwin); if (skip < 0) { return TCL_ERROR; } if (objc - skip != 2) { Tcl_WrongNumArgs(interp, 2, objv, "?-displayof window?"); return TCL_ERROR; } return TkGetInterpNames(interp, tkwin); case WIN_PATHNAME: { Window id; skip = TkGetDisplayOf(interp, objc - 2, objv + 2, &tkwin); if (skip < 0) { return TCL_ERROR; } |
︙ | ︙ |