rem: free(path);
add: wfree(path);
context: buttonCallback(void *self, void *clientData){    WMButton *bPtr = (WMButton*)self;    IconPanel *panel = (IconPanel*)clientData;            if (bPtr==panel->okButton) {	panel->done = True;	panel->result = True;    } else if (bPtr==panel->cancelButton) {	panel->done = True;	panel->result = False;    } else if (bPtr==panel->previewButton) {        /**** Previewer ****/        WMSetButtonEnabled(bPtr, False);        WMSetListUserDrawItemHeight(panel->iconList, 68);        WMSetListUserDrawProc(panel->iconList, drawIconProc);        WMRedisplayWidget(panel->iconList);        /* for draw proc to access screen/gc */        /*** end preview ***/    }#if 0    else if (bPtr==panel->chooseButton) {	WMOpenPanel *op;		op = WMCreateOpenPanel(WMWidgetScreen(bPtr));		if (WMRunModalFilePanelForDirectory(op, NULL, "/usr/local", NULL, NULL)) {	    char *path;	    path = WMGetFilePanelFile(op);	    WMSetTextFieldText(panel->fileField, path);	    setViewedImage(panel, path);	    free(path);	}	WMDestroyFilePanel(op);    }#endif}