diff -urN cui26/button.c cui27/button.c --- cui26/button.c Thu Jan 30 23:40:00 2014 +++ cui27/button.c Thu Jan 30 23:50:00 2014 @@ -34,13 +34,10 @@ /* CUI_EVT_DRAW */ attr = (val == CUI_DRAW_FOCUS) ? CUI_ESC_ULINE : CUI_ESC_NORMAL; - ((cui_label)p->lb1)->attr = attr; - ((cui_label)p->lb3)->attr = attr; + cui_label_attr_set(p->lb1, attr); + cui_label_attr_set(p->lb3, attr); attr = (val == CUI_DRAW_ACTIVE) ? CUI_ESC_REVERSE : attr; - ((cui_label)p->lb2)->attr = attr; - cui_draw(p->lb1); - cui_draw(p->lb2); - cui_draw(p->lb3); + cui_label_attr_set(p->lb2, attr); return TRUE; } diff -urN cui26/label.c cui27/label.c --- cui26/label.c Thu Jan 30 23:30:00 2014 +++ cui27/label.c Thu Jan 30 23:50:00 2014 @@ -48,4 +48,12 @@ if(visi) cui_show(obj); } +void +cui_label_attr_set(cui obj, int attr) +{ + cui_label p = (cui_label)obj; + p->attr = attr; + cui_draw(obj); +} + /* EOF */ diff -urN cui26/label.h cui27/label.h --- cui26/label.h Thu Jan 30 23:30:00 2014 +++ cui27/label.h Thu Jan 30 23:50:00 2014 @@ -14,5 +14,6 @@ void cui_label_init(cui obj, cui parent, int x, int y, char *s); char *cui_label_str_get(cui obj); void cui_label_str_set(cui obj, char *s); +void cui_label_attr_set(cui obj, int attr); #endif