rem: free(panel->fprefix);
add: wfree(panel->fprefix);
context: createPanel(Panel *p){    _Panel *panel = (_Panel*)p;    WMFont *font;    WMScreen *scr = WMWidgetScreen(panel->win);    WMTabViewItem *item;    int i;    char *tmp;    Bool ok = True;        panel->fprefix = wstrappend(wusergnusteppath(), "/.AppInfo");    if (access(panel->fprefix, F_OK)!=0) {	if (mkdir(panel->fprefix, 0755) < 0) {	    wsyserror(panel->fprefix);	    ok = False;	}    }    if (ok) {	tmp = wstrappend(panel->fprefix, "/WPrefs/");	free(panel->fprefix);	panel->fprefix = tmp;	if (access(panel->fprefix, F_OK)!=0) {	    if (mkdir(panel->fprefix, 0755) < 0) {		wsyserror(panel->fprefix);	    }	}    }    panel->smallFont = WMSystemFontOfSize(scr, 10);    panel->normalFont = WMSystemFontOfSize(scr, 12);    panel->boldFont = WMBoldSystemFontOfSize(scr, 12);    panel->onLed = WMCreatePixmapFromXPMData(scr, blueled_xpm);    panel->offLed = WMCreatePixmapFromXPMData(scr, blueled2_xpm);    panel->hand = WMCreatePixmapFromXPMData(scr, hand_xpm);    panel->frame = WMCreateFrame(panel->win);    WMResizeWidget(panel->frame, FRAME_WIDTH, FRAME_HEIGHT);    WMMoveWidget(panel->frame, FRAME_LEFT, FRAME_TOP);    /* preview box */    panel->prevL = WMCreateLabel(panel->frame);    WMResizeWidget(panel->prevL, 240, FRAME_HEIGHT - 20);    WMMoveWidget(panel->prevL, 15, 10);    WMSetLabelRelief(panel->prevL, WRSunken);    WMSetLabelImagePosition(panel->prevL, WIPImageOnly);        WMCreateEventHandler(WMWidgetView(panel->prevL), ButtonPressMask,			 previewClick, panel);        /* tabview */    tabviewDelegate.data = panel;    panel->tabv = WMCreateTabView(panel->frame);    WMResizeWidget(panel->tabv, 245, FRAME_HEIGHT - 20);    WMMoveWidget(panel->tabv, 265, 10);    WMSetTabViewDelegate(panel->tabv, &tabviewDelegate);    /*** texture list ***/    panel->texF = WMCreateFrame(panel->frame);    WMSetFrameRelief(panel->texF, WRFlat);    item = WMCreateTabViewItemWithIdentifier(0);    WMSetTabViewItemView(item, WMWidgetView(panel->texF));    WMSetTabViewItemLabel(item, _("Texture"));    WMAddItemInTabView(panel->tabv, item);    panel->secP = WMCreatePopUpButton(panel->texF);    WMResizeWidget(panel->secP, 228, 20);    WMMoveWidget(panel->secP, 7, 7);    WMAddPopUpButtonItem(panel->secP, _("Titlebar of Focused Window"));    WMAddPopUpButtonItem(panel->secP, _("Titlebar of Unfocused Windows"));    WMAddPopUpButtonItem(panel->secP, _("Titlebar of Focused Window's Owner"));    WMAddPopUpButtonItem(panel->secP, _("Window Resizebar"));    WMAddPopUpButtonItem(panel->secP, _("Titlebar of Menus"));    WMAddPopUpButtonItem(panel->secP, _("Menu Items"));    WMAddPopUpButtonItem(panel->secP, _("Icon Background"));/*    WMAddPopUpButtonItem(panel->secP, _("Workspace Backgrounds")); */    WMSetPopUpButtonSelectedItem(panel->secP, 0);    WMSetPopUpButtonAction(panel->secP, changePage, panel);    panel->texLs = WMCreateList(panel->texF);    WMResizeWidget(panel->texLs, 165, 155);    WMMoveWidget(panel->texLs, 70, 33);    WMSetListUserDrawItemHeight(panel->texLs, 35);    WMSetListUserDrawProc(panel->texLs, paintListItem);    WMHangData(panel->texLs, panel);    WMSetListAction(panel->texLs, textureClick, panel);    WMSetListDoubleAction(panel->texLs, textureDoubleClick, panel);    WMSetBalloonTextForView(_("Double click in the texture you want to use\n"			      "for the selected item."),			    WMWidgetView(panel->texLs));    /* command buttons */    font = WMSystemFontOfSize(scr, 10);    panel->newB = WMCreateCommandButton(panel->texF);    WMResizeWidget(panel->newB, 57, 39);    WMMoveWidget(panel->newB, 7, 33);    WMSetButtonFont(panel->newB, font);    WMSetButtonImagePosition(panel->newB, WIPAbove);    WMSetButtonText(panel->newB, _("New"));    WMSetButtonAction(panel->newB, newTexture, panel);    SetButtonAlphaImage(scr, panel->newB, TNEW_FILE, NULL, NULL);    WMSetBalloonTextForView(_("Create a new texture."),			    WMWidgetView(panel->newB));    panel->ripB = WMCreateCommandButton(panel->texF);    WMResizeWidget(panel->ripB, 57, 39);    WMMoveWidget(panel->ripB, 7, 72);    WMSetButtonFont(panel->ripB, font);    WMSetButtonImagePosition(panel->ripB, WIPAbove);    WMSetButtonText(panel->ripB, _("Extract..."));    WMSetButtonAction(panel->ripB, extractTexture, panel);    SetButtonAlphaImage(scr, panel->ripB, TEXTR_FILE, NULL, NULL);    WMSetBalloonTextForView(_("Extract texture(s) from a theme or a style file."),			    WMWidgetView(panel->ripB));    WMSetButtonEnabled(panel->ripB, False);    panel->editB = WMCreateCommandButton(panel->texF);    WMResizeWidget(panel->editB, 57, 39);    WMMoveWidget(panel->editB, 7, 111);    WMSetButtonFont(panel->editB, font);    WMSetButtonImagePosition(panel->editB, WIPAbove);    WMSetButtonText(panel->editB, _("Edit"));    SetButtonAlphaImage(scr, panel->editB, TEDIT_FILE, NULL, NULL);    WMSetButtonAction(panel->editB, editTexture, panel);    WMSetBalloonTextForView(_("Edit the highlighted texture."),			    WMWidgetView(panel->editB));    panel->delB = WMCreateCommandButton(panel->texF);    WMResizeWidget(panel->delB, 57, 38);    WMMoveWidget(panel->delB, 7, 150);    WMSetButtonFont(panel->delB, font);    WMSetButtonImagePosition(panel->delB, WIPAbove);    WMSetButtonText(panel->delB, _("Delete"));    SetButtonAlphaImage(scr, panel->delB, TDEL_FILE, NULL, NULL);    WMSetButtonEnabled(panel->delB, False);    WMSetButtonAction(panel->delB, deleteTexture, panel);    WMSetBalloonTextForView(_("Delete the highlighted texture."),			    WMWidgetView(panel->delB));    WMReleaseFont(font);    WMMapSubwidgets(panel->texF);    /*** colors ***/    panel->colF = WMCreateFrame(panel->frame);    WMSetFrameRelief(panel->colF, WRFlat);    item = WMCreateTabViewItemWithIdentifier(1);    WMSetTabViewItemView(item, WMWidgetView(panel->colF));    WMSetTabViewItemLabel(item, _("Color"));    WMAddItemInTabView(panel->tabv, item);    panel->colP = WMCreatePopUpButton(panel->colF);    WMResizeWidget(panel->colP, 228, 20);    WMMoveWidget(panel->colP, 7, 7);    WMAddPopUpButtonItem(panel->colP, _("Focused Window Title"));    WMAddPopUpButtonItem(panel->colP, _("Unfocused Window Title"));    WMAddPopUpButtonItem(panel->colP, _("Owner of Focused Window Title"));    WMAddPopUpButtonItem(panel->colP, _("Menu Title"));    WMAddPopUpButtonItem(panel->colP, _("Menu Item Text"));    WMAddPopUpButtonItem(panel->colP, _("Disabled Menu Item Text"));    WMAddPopUpButtonItem(panel->colP, _("Menu Highlight Color"));    WMAddPopUpButtonItem(panel->colP, _("Highlighted Menu Text Color"));    /*    WMAddPopUpButtonItem(panel->colP, _("Miniwindow Title"));    WMAddPopUpButtonItem(panel->colP, _("Miniwindow Title Back"));    WMAddPopUpButtonItem(panel->colP, _("Clip Title"));    WMAddPopUpButtonItem(panel->colP, _("Collapsed Clip Title"));     */    WMSetPopUpButtonSelectedItem(panel->colP, 0);    WMSetPopUpButtonAction(panel->colP, changeColorPage, panel);     panel->colW = WMCreateColorWell(panel->colF);    WMResizeWidget(panel->colW, 65, 50);    WMMoveWidget(panel->colW, 30, 75);    WMAddNotificationObserver(colorWellObserver, panel,			      WMColorWellDidChangeNotification, panel->colW);    for (i = 0; i < 4; i++) {	int j;	for (j = 0; j < 6; j++) {	    panel->sampW[i+j*4] = WMCreateColorWell(panel->colF);	    WMResizeWidget(panel->sampW[i+j*4], 22, 22);	    WMMoveWidget(panel->sampW[i+j*4], 130 + i*22, 40 + j*22);	    WSetColorWellBordered(panel->sampW[i+j*4], False);	}    }    WMMapSubwidgets(panel->colF);        /*** root bg ***/        panel->bgF = WMCreateFrame(panel->frame);    WMSetFrameRelief(panel->bgF, WRFlat);        item = WMCreateTabViewItemWithIdentifier(2);    WMSetTabViewItemView(item, WMWidgetView(panel->bgF));    WMSetTabViewItemLabel(item, _("Background"));    WMAddItemInTabView(panel->tabv, item);    panel->bgprevL = WMCreateLabel(panel->bgF);    WMResizeWidget(panel->bgprevL, 230, 155);    WMMoveWidget(panel->bgprevL, 5, 5);    WMSetLabelRelief(panel->bgprevL, WRSunken);    panel->selbgB = WMCreateCommandButton(panel->bgF);    WMMoveWidget(panel->selbgB, 5, 165);    WMResizeWidget(panel->selbgB, 100, 24);    WMSetButtonText(panel->selbgB, _("Browse..."));                    WMMapSubwidgets(panel->bgF);    /*** options ***/    panel->optF = WMCreateFrame(panel->frame);    WMSetFrameRelief(panel->optF, WRFlat);    item = WMCreateTabViewItemWithIdentifier(3);    WMSetTabViewItemView(item, WMWidgetView(panel->optF));    WMSetTabViewItemLabel(item, _("Options"));    WMAddItemInTabView(panel->tabv, item);    panel->mstyF = WMCreateFrame(panel->optF);    WMResizeWidget(panel->mstyF, 215, 85);    WMMoveWidget(panel->mstyF, 15, 10);    WMSetFrameTitle(panel->mstyF, _("Menu Style"));    for (i = 0; i < 3; i++) {	WMPixmap *icon;	char *path;	panel->mstyB[i] = WMCreateButton(panel->mstyF, WBTOnOff);	WMResizeWidget(panel->mstyB[i], 54, 54);	WMMoveWidget(panel->mstyB[i], 15 + i*65, 20);	WMSetButtonImagePosition(panel->mstyB[i], WIPImageOnly);	WMSetButtonAction(panel->mstyB[i], menuStyleCallback, panel);	switch (i) {	 case 0:	    path = LocateImage(MSTYLE1_FILE);	    break;	 case 1:	    path = LocateImage(MSTYLE2_FILE);	    break;	 case 2:	    path = LocateImage(MSTYLE3_FILE);	    break;	}	if (path) {	    icon = WMCreatePixmapFromFile(scr, path);	    if (icon) {		WMSetButtonImage(panel->mstyB[i], icon);		WMReleasePixmap(icon);	    } else {		wwarning(_("could not load icon file %s"), path);	    }	    free(path);	}    }    WMGroupButtons(panel->mstyB[0], panel->mstyB[1]);    WMGroupButtons(panel->mstyB[0], panel->mstyB[2]);    WMMapSubwidgets(panel->mstyF);    panel->taliF = WMCreateFrame(panel->optF);    WMResizeWidget(panel->taliF, 110, 80);    WMMoveWidget(panel->taliF, 15, 100);    WMSetFrameTitle(panel->taliF, _("Title Alignment"));    for (i = 0; i < 3; i++) {	panel->taliB[i] = WMCreateRadioButton(panel->taliF);	WMSetButtonAction(panel->taliB[i], titleAlignCallback, panel);	switch (i) {	 case 0:	    WMSetButtonText(panel->taliB[i], _("Left"));	    break;	 case 1:	    WMSetButtonText(panel->taliB[i], _("Center"));	    break;	 case 2:	    WMSetButtonText(panel->taliB[i], _("Right"));	    break;	}	WMResizeWidget(panel->taliB[i], 90, 18);	WMMoveWidget(panel->taliB[i], 10, 15 + 20*i);    }    WMGroupButtons(panel->taliB[0], panel->taliB[1]);    WMGroupButtons(panel->taliB[0], panel->taliB[2]);    WMMapSubwidgets(panel->taliF);        WMMapSubwidgets(panel->optF);    /**/    WMRealizeWidget(panel->frame);    WMMapSubwidgets(panel->frame);    WMSetPopUpButtonSelectedItem(panel->secP, 0);    showData(panel);    changePage(panel->secP, panel);    fillTextureList(panel->texLs);    fillColorList(panel);    panel->texturePanel = CreateTexturePanel(panel->win);}