rem: free(oface);
add: wfree(oface);
context: familyClick(WMWidget *w, void *data){    WMList *lPtr = (WMList*)w;    WMListItem *item;    Family *family;    FontPanel *panel = (FontPanel*)data;    Typeface *face;    int i;    /* current typeface and size */    char *oface = NULL;    char *osize = NULL;    int facei = -1;    int sizei = -1;    /* must try to keep the same typeface and size for the new family */    item = WMGetListSelectedItem(panel->typLs);    if (item)	oface = wstrdup(item->text);    osize = WMGetTextFieldText(panel->sizT);    item = WMGetListSelectedItem(lPtr);    family = (Family*)item->clientData;    WMClearList(panel->typLs);    for (i = 0; i < WMGetBagItemCount(family->typefaces); i++) {	char buffer[256];	int top;	WMListItem *fitem;	face = WMGetFromBag(family->typefaces, i);		if (strcmp(face->weight, "medium") == 0) {	    buffer[0] = 0;	} else {	    if (*face->weight) {		strcpy(buffer, face->weight);		buffer[0] = toupper(buffer[0]);		strcat(buffer, " ");	    } else {		buffer[0] = 0;	    }	}	if (strcmp(face->slant, "r") == 0) {	    strcat(buffer, "Roman");	    top = 1;	} else if (strcmp(face->slant, "i") == 0) {	    strcat(buffer, "Italic");	} else if (strcmp(face->slant, "o") == 0) {	    strcat(buffer, "Oblique");	} else if (strcmp(face->slant, "ri") == 0) {	    strcat(buffer, "Rev Italic");	} else if (strcmp(face->slant, "ro") == 0) {	    strcat(buffer, "Rev Oblique");	} else {	    strcat(buffer, face->slant);	}	if (buffer[0] == 0) {	    strcpy(buffer, "Normal");	}	if (top)	    fitem = WMInsertListItem(panel->typLs, 0, buffer);	else	    fitem = WMAddListItem(panel->typLs, buffer);	fitem->clientData = face;    }    if (oface) {	facei = WMFindRowOfListItemWithTitle(panel->typLs, oface);	free(oface);    }    if (facei < 0) {	facei = 0;    }    WMSelectListItem(panel->typLs, facei);    typefaceClick(panel->typLs, panel);        if (osize) {	sizei = WMFindRowOfListItemWithTitle(panel->sizLs, osize);    }    if (sizei >= 0) {	WMSelectListItem(panel->sizLs, sizei);	sizeClick(panel->sizLs, panel);    }    if (osize)	free(osize);    preview(panel);}