Import Tk 8.6.12

This commit is contained in:
Steve Dower
2021-11-08 17:28:57 +00:00
parent 070b8750b0
commit c6710de848
290 changed files with 5626 additions and 3660 deletions

View File

@@ -1320,9 +1320,9 @@ EmbWinDelayedUnmap(
* index corresponding to the window's position in the text.
*
* Results:
* The return value is 1 if there is an embedded window by the given name
* in the text widget, 0 otherwise. If the window exists, *indexPtr is
* filled in with its index.
* The return value is TCL_OK if there is an embedded window by the given
* name in the text widget, TCL_ERROR otherwise. If the window exists,
* *indexPtr is filled in with its index.
*
* Side effects:
* None.
@@ -1340,19 +1340,30 @@ TkTextWindowIndex(
TkTextSegment *ewPtr;
if (textPtr == NULL) {
return 0;
return TCL_ERROR;
}
hPtr = Tcl_FindHashEntry(&textPtr->sharedTextPtr->windowTable, name);
if (hPtr == NULL) {
return 0;
return TCL_ERROR;
}
ewPtr = (TkTextSegment *)Tcl_GetHashValue(hPtr);
indexPtr->tree = textPtr->sharedTextPtr->tree;
indexPtr->linePtr = ewPtr->body.ew.linePtr;
indexPtr->byteIndex = TkTextSegToOffset(ewPtr, indexPtr->linePtr);
return 1;
/*
* If indexPtr refers to somewhere outside the -startline/-endline
* range limits of the widget, error out since the window indeed is not
* reachable from this text widget (it may be reachable from a peer).
*/
if (TkTextIndexAdjustToStartEnd(textPtr, indexPtr, 1) == TCL_ERROR) {
return TCL_ERROR;
}
return TCL_OK;
}
/*