rem: free(icon->dnd_command);
add: wfree(icon->dnd_command);
context: wDockDetach(WDock *dock, WAppIcon *icon){    int index;    /* make the settings panel be closed */    if (icon->panel) {	DestroyDockAppSettingsPanel(icon->panel);    }    /* This must be called before icon->dock is set to NULL.     * Don't move it. -Dan     */    wClipMakeIconOmnipresent(icon, False);    icon->docked = 0;    icon->dock = NULL;    icon->attracted = 0;    icon->auto_launch = 0;    if (icon->icon->shadowed) {	icon->icon->shadowed = 0;	icon->icon->force_paint = 1;    }    /* deselect the icon */    if (icon->icon->selected)	wIconSelect(icon->icon);    if (icon->command) {	free(icon->command);	icon->command = NULL;    }#ifdef OFFIX_DND    if (icon->dnd_command) {        free(icon->dnd_command);        icon->dnd_command = NULL;    }#endif    for (index=1; index<dock->max_icons; index++)        if (dock->icon_array[index] == icon)            break;    assert(index < dock->max_icons);    dock->icon_array[index] = NULL;    icon->yindex = -1;    icon->xindex = -1;    dock->icon_count--;    /* if the dock is not attached to an application or     * the the application did not set the approriate hints yet,     * destroy the icon */#ifdef REDUCE_APPICONS    if ((icon->num_apps == 0) && (!icon->running || !wApplicationOf(icon->main_window)) )#else    if (!icon->running || !wApplicationOf(icon->main_window))#endif	wAppIconDestroy(icon);    else {	icon->icon->core->descriptor.handle_mousedown = appIconMouseDown;	icon->icon->core->descriptor.handle_enternotify = NULL;	icon->icon->core->descriptor.handle_leavenotify = NULL;        icon->icon->core->descriptor.parent_type = WCLASS_APPICON;	icon->icon->core->descriptor.parent = icon;	ChangeStackingLevel(icon->icon->core, NORMAL_ICON_LEVEL);	wAppIconPaint(icon);        if (wPreferences.auto_arrange_icons) {	    wArrangeIcons(dock->screen_ptr, True);	}    }    if (dock->auto_collapse || dock->auto_raise_lower)        clipLeave(dock);}