diff options
Diffstat (limited to 'generic/tkListbox.c')
-rw-r--r-- | generic/tkListbox.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/generic/tkListbox.c b/generic/tkListbox.c index 78cf3c9..d5f0663 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.35 2006/05/29 21:53:16 hobbs Exp $ + * RCS: @(#) $Id: tkListbox.c,v 1.36 2006/12/04 20:13:21 hobbs Exp $ */ #include "tkPort.h" @@ -384,7 +384,7 @@ static int ConfigureListbox(Tcl_Interp *interp, Listbox *listPtr, int objc, Tcl_Obj *CONST objv[], int flags); static int ConfigureListboxItem(Tcl_Interp *interp, Listbox *listPtr, ItemAttr *attrs, int objc, - Tcl_Obj *CONST objv[]); + Tcl_Obj *CONST objv[], int index); static int ListboxDeleteSubCmd(Listbox *listPtr, int first, int last); static void DestroyListbox(char *memPtr); @@ -931,7 +931,7 @@ ListboxWidgetObjCmd(clientData, interp, objc, objv) } } else { result = ConfigureListboxItem(interp, listPtr, attrPtr, - objc-3, objv+3); + objc-3, objv+3, index); } break; } @@ -1694,13 +1694,14 @@ ConfigureListbox(interp, listPtr, objc, objv, flags) */ static int -ConfigureListboxItem(interp, listPtr, attrs, objc, objv) +ConfigureListboxItem(interp, listPtr, attrs, objc, objv, index) Tcl_Interp *interp; /* Used for error reporting. */ register Listbox *listPtr; /* Information about widget; may or may not * already have values for some fields. */ ItemAttr *attrs; /* Information about the item to configure */ int objc; /* Number of valid entries in argv. */ Tcl_Obj *CONST objv[]; /* Arguments. */ + int index; /* Index of the listbox item being configure */ { Tk_SavedOptions savedOptions; @@ -1711,7 +1712,11 @@ ConfigureListboxItem(interp, listPtr, attrs, objc, objv) return TCL_ERROR; } Tk_FreeSavedOptions(&savedOptions); - ListboxWorldChanged((ClientData) listPtr); + /* + * Redraw this index - ListboxWorldChanged would need to be called + * if item attributes were checked in the "world". + */ + EventuallyRedrawRange(listPtr, index, index); return TCL_OK; } |