rem: fam = (Xft_Family*)item->clientData;
add: fam = (Family*)item->clientData;
context: setFontPanelFontName(FontPanel *panel, FcChar8 *family, FcChar8 *style, double size){    int famrow;    int stlrow;    int sz;    char asize[64];    void *vsize;    WMListItem *item;    Xft_Family *fam;    Xft_Typeface *face;    WMArrayIterator i;    famrow = WMFindRowOfListItemWithTitle(panel->famLs, family);    if (famrow < 0 ){        famrow = 0;        return;    }    WMSelectListItem(panel->famLs, famrow);    WMSetListPosition(panel->famLs, famrow);    WMClearList(panel->typLs);    item = WMGetListSelectedItem(panel->famLs);    fam = (Xft_Family*)item->clientData;    WM_ITERATE_ARRAY(fam->typefaces, face, i) {        char buffer[256];        int top=0;        WMListItem *fitem;        strcpy(buffer, face->typeface);        if(strcasecmp(face->typeface, "Roman") == 0)            top = 1;        if (top)            fitem = WMInsertListItem(panel->typLs, 0, buffer);        else            fitem = WMAddListItem(panel->typLs, buffer);        fitem->clientData = face;    }    stlrow = WMFindRowOfListItemWithTitle(panel->typLs, style);    if (stlrow < 0) {        stlrow = 0;        return;    }    WMSelectListItem(panel->typLs, stlrow);    item = WMGetListSelectedItem(panel->typLs);    face = (Xft_Typeface*)item->clientData;    WMClearList(panel->sizLs);    WM_ITERATE_ARRAY(face->sizes, vsize, i) {        char buffer[32];        if ((int)vsize != 0) {            sprintf(buffer, "%i", (int)vsize);            WMAddListItem(panel->sizLs, buffer);        }    }    snprintf(asize, sizeof(asize)-1, "%d",(int)(size+0.5));    sz = WMFindRowOfListItemWithTitle(panel->sizLs, asize);    if (sz < 0) {        sz = 4;        return;    }    WMSelectListItem(panel->sizLs, sz);    sizeClick(panel->sizLs, panel);    return;}