diff options
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkListbox.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/generic/tkListbox.c b/generic/tkListbox.c index 36dbf76..913757c 100644 --- a/generic/tkListbox.c +++ b/generic/tkListbox.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkListbox.c,v 1.8 1999/11/18 01:47:07 ericm Exp $ + * RCS: @(#) $Id: tkListbox.c,v 1.9 1999/11/18 02:24:41 ericm Exp $ */ #include "tkPort.h" @@ -1336,6 +1336,8 @@ ConfigureListbox(interp, listPtr, objc, objv, flags) /* Make sure the object is a good list object */ if (Tcl_ListObjLength(listPtr->interp, listVarObj, &dummy) != TCL_OK) { Tk_RestoreSavedOptions(&savedOptions); + Tcl_AppendResult(listPtr->interp, ": invalid listvar value", + (char *)NULL); return TCL_ERROR; } @@ -2822,12 +2824,12 @@ ListboxListVarProc(clientData, interp, name1, name2, flags) /* * Make sure the new value is a good list; if it's not, disallow * the change -- the fact that it is a listvar means that it must - * always be a valid list + * always be a valid list -- and return an error message. */ if (Tcl_ListObjLength(listPtr->interp, varListObj, &i) != TCL_OK) { Tcl_SetVar2Ex(interp, listPtr->listVarName, (char *)NULL, oldListObj, TCL_GLOBAL_ONLY); - varListObj = oldListObj; + return("invalid listvar value"); } listPtr->listObj = varListObj; |