rem: if (bPtr->flags.stateLight) gc = WMColorGC(scrPtr->white);
add: if (bPtr->flags.stateLight) { gc = WMColorGC(scrPtr->white); textColor = scrPtr->black; }
context: paintButton(Button *bPtr){    W_Screen *scrPtr = bPtr->view->screen;    GC gc;    WMReliefType relief;    int offset;    char *caption;    WMPixmap *image;    GC textGC;    gc = NULL;    caption = bPtr->caption;    if (bPtr->flags.enabled || !bPtr->dimage)	image = bPtr->image;    else	image = bPtr->dimage;    offset = 0;    if (bPtr->flags.bordered)	relief = WRRaised;    else	relief = WRFlat;    if (bPtr->flags.selected) {	if (bPtr->flags.stateLight)	    gc = WMColorGC(scrPtr->white);	if (bPtr->flags.stateChange) {	    if (bPtr->altCaption) {		caption = bPtr->altCaption;	    }	    if (bPtr->altImage)		image = bPtr->altImage;	}	if (bPtr->flags.statePush && bPtr->flags.bordered) {	    relief = WRSunken;	    offset = 1;	}    }    if (bPtr->flags.pushed) {	if (bPtr->flags.pushIn) {	    relief = WRPushed;	    offset = 1;	}	if (bPtr->flags.pushLight)	    gc = WMColorGC(scrPtr->white);	if (bPtr->flags.pushChange) {	    if (bPtr->altCaption) {		caption = bPtr->altCaption;	    }	    if (bPtr->altImage)		image = bPtr->altImage;	}    }        if (bPtr->flags.enabled)	textGC = WMColorGC(scrPtr->black);    else	textGC = WMColorGC(scrPtr->darkGray);    W_PaintTextAndImage(bPtr->view, True, textGC,			(bPtr->font!=NULL ? bPtr->font : scrPtr->normalFont),			relief, caption, bPtr->flags.alignment, image, 			bPtr->flags.imagePosition, gc, offset);}