rem: free(panel);
add: wfree(panel);
context: DestroyDockAppSettingsPanel(AppSettingsPanel *panel){    if (!panel->destroyed) {	XUnmapWindow(dpy, panel->wwin->client_win);	XReparentWindow(dpy, panel->wwin->client_win,			panel->wwin->screen_ptr->root_win, 0, 0);	wUnmanageWindow(panel->wwin, False, False);    }    panel->destroyed = 1;    /*     * kluge. If we destroy the panel before the icon chooser is closed,     * we will crash when it does close, trying to access something in the     * destroyed panel. Could use wretain()/wrelease() in the panel,     * but it is not working for some reason.     */    if (panel->choosingIcon)	return;    WMDestroyWidget(panel->win);    XDestroyWindow(dpy, panel->parent);    panel->editedIcon->panel = NULL;    panel->editedIcon->editing = 0;    free(panel);}