rem: free(str);
add: wfree(str);
context: prepareForClose(_Panel *panel){    proplist_t textureList;    proplist_t texture;    TextureListItem *titem;    WMListItem *item;    WMUserDefaults *udb = WMGetStandardUserDefaults();    int i;    textureList = PLMakeArrayFromElements(NULL, NULL);    /* store list of textures */    for (i = 7; i < WMGetListNumberOfRows(panel->texLs); i++) {	item = WMGetListItem(panel->texLs, i);	titem = (TextureListItem*)item->clientData;	texture = PLMakeArrayFromElements(PLMakeString(titem->title),					  PLRetain(titem->prop),					  PLMakeString(titem->path),					  NULL);	PLAppendArrayElement(textureList, texture);    }    WMSetUDObjectForKey(udb, textureList, "TextureList");    PLRelease(textureList);        /* store list of colors */    textureList = PLMakeArrayFromElements(NULL, NULL);    for (i = 0; i < 24; i++) {	WMColor *color;	char *str;	color = WMGetColorWellColor(panel->sampW[i]);	str = WMGetColorRGBDescription(color);	PLAppendArrayElement(textureList, PLMakeString(str));	free(str);    }    WMSetUDObjectForKey(udb, textureList, "ColorList");    PLRelease(textureList);    WMSynchronizeUserDefaults(udb);}