@@ -197,7 +197,7 @@ Tix_ItemStyleCmd(clientData, interp, argc, argv)
197197{
198198 Tix_DItemInfo * diTypePtr ;
199199 Tk_Window tkwin = (Tk_Window )clientData ;
200- char * styleName = NULL ;
200+ Tcl_Obj * styleName = NULL ; /* note: in original Tix this was a char*, need to use a Tcl_Obj because of the shuffle hack later */
201201 Tix_DispData dispData ;
202202 char buff [100 ];
203203 int i , n ;
@@ -235,16 +235,16 @@ Tix_ItemStyleCmd(clientData, interp, argc, argv)
235235 continue ;
236236 }
237237 if (strncmp (argv [i ], "-stylename" , len ) == 0 ) {
238- styleName = argv [i + 1 ];
239- if (FindStyle (styleName , interp ) != NULL ) {
238+ styleName = Tcl_NewStringObj ( argv [i + 1 ], -1 ) ;
239+ if (FindStyle (Tcl_GetString ( styleName ) , interp ) != NULL ) {
240240 Tcl_AppendResult (interp , "style \"" , argv [i + 1 ],
241241 "\" already exist" , NULL );
242242 return TCL_ERROR ;
243243 }
244244 continue ;
245245 }
246246
247- if (n != i ) {
247+ if (n != i ) { /* shuffle objv to remove -refwindow and -stylename */
248248#if 0
249249 objv [n ] = objv [i ];
250250 objv [n + 1 ] = objv [i + 1 ];
@@ -265,15 +265,15 @@ Tix_ItemStyleCmd(clientData, interp, argc, argv)
265265 * (ToDo: check if the name has already been used)
266266 */
267267 sprintf (buff , "tixStyle%d" , counter ++ );
268- styleName = buff ;
268+ styleName = Tcl_NewStringObj ( buff , -1 ) ;
269269 }
270270
271271 dispData .interp = interp ;
272272 dispData .display = Tk_Display (tkwin );
273273 dispData .tkwin = tkwin ;
274274
275275 if ((stylePtr = GetDItemStyle (& dispData , diTypePtr ,
276- styleName , NULL )) == NULL ) {
276+ Tcl_GetString ( styleName ) , NULL )) == NULL ) {
277277 return TCL_ERROR ;
278278 }
279279 if (StyleConfigure (interp , stylePtr , argc - 2 , argv + 2 , 0 ) != TCL_OK ) {
@@ -284,7 +284,7 @@ Tix_ItemStyleCmd(clientData, interp, argc, argv)
284284 RefWindowStructureProc , (ClientData )stylePtr );
285285
286286 Tcl_ResetResult (interp );
287- Tcl_SetObjResult (interp , LangObjectObj ( interp , styleName ));
287+ Tcl_SetObjResult (interp , LangObjectObj (interp , Tcl_GetString ( styleName ) ));
288288 return TCL_OK ;
289289}
290290
0 commit comments