diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-06-05 12:52:35 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-06-05 12:52:35 (GMT) |
commit | b38ed5b362e85be991db22a2d7059b14b3772db4 (patch) | |
tree | 09201a141bfa1354170c3de9a5580e894a6f4bee /generic/ttk | |
parent | d700d3e1145baef2131130e83c9e4ccbc9442af3 (diff) | |
download | tk-b38ed5b362e85be991db22a2d7059b14b3772db4.zip tk-b38ed5b362e85be991db22a2d7059b14b3772db4.tar.gz tk-b38ed5b362e85be991db22a2d7059b14b3772db4.tar.bz2 |
Fix [2100430]: ttk::entry widget index must be integer
Diffstat (limited to 'generic/ttk')
-rw-r--r-- | generic/ttk/ttkEntry.c | 8 | ||||
-rw-r--r-- | generic/ttk/ttkScroll.c | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/generic/ttk/ttkEntry.c b/generic/ttk/ttkEntry.c index 5c280e4..ae43ae6 100644 --- a/generic/ttk/ttkEntry.c +++ b/generic/ttk/ttkEntry.c @@ -1642,6 +1642,14 @@ static int EntryXViewCommand( void *recordPtr, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { Entry *entryPtr = recordPtr; + if (objc == 3) { + int newFirst; + if (EntryIndex(interp, entryPtr, objv[2], &newFirst) != TCL_OK) { + return TCL_ERROR; + } + TtkScrollTo(entryPtr->entry.xscrollHandle, newFirst); + return TCL_OK; + } return TtkScrollviewCommand(interp, objc, objv, entryPtr->entry.xscrollHandle); } diff --git a/generic/ttk/ttkScroll.c b/generic/ttk/ttkScroll.c index 5615eef..fc305e9 100644 --- a/generic/ttk/ttkScroll.c +++ b/generic/ttk/ttkScroll.c @@ -202,10 +202,7 @@ int TtkScrollviewCommand( Tcl_SetObjResult(interp, Tcl_NewListObj(2, result)); return TCL_OK; } else if (objc == 3) { - const char *string = Tcl_GetString(objv[2]); - if (strcmp(string, "end") == 0) { - newFirst = s->total; - } else if (Tcl_GetIntFromObj(interp, objv[2], &newFirst) != TCL_OK) { + if (Tcl_GetIntFromObj(interp, objv[2], &newFirst) != TCL_OK) { return TCL_ERROR; } } else { |