+ bool set=FALSE;
+
+ if(str==NULL){
+ INFOWIN_BUFFER(p)[0]='\0';
+ }else{
+ if(maxw>0 && p->brush!=NULL){
+ char *tmp=grbrush_make_label(p->brush, str, maxw);
+ if(tmp!=NULL){
+ infowin_do_set_text(p, tmp);
+ free(tmp);
+ set=TRUE;
+ }
+ }
+
+ if(!set)
+ infowin_do_set_text(p, str);
+ }
+