Ejemplo n.º 1
0
void
wAppIconDestroy(WAppIcon *aicon)
{
    WScreen *scr = aicon->icon->core->screen_ptr;

    RemoveFromStackList(aicon->icon->core);
    wIconDestroy(aicon->icon);
    if (aicon->command)
        wfree(aicon->command);
#ifdef XDND
    if (aicon->dnd_command)
        wfree(aicon->dnd_command);
#endif
    if (aicon->wm_instance)
        wfree(aicon->wm_instance);
    if (aicon->wm_class)
        wfree(aicon->wm_class);

    if (aicon == scr->app_icon_list) {
        if (aicon->next)
            aicon->next->prev = NULL;
        scr->app_icon_list = aicon->next;
    }
    else {
        if (aicon->next)
            aicon->next->prev = aicon->prev;
        if (aicon->prev)
            aicon->prev->next = aicon->next;
    }

    aicon->destroyed = 1;
    wrelease(aicon);
}
Ejemplo n.º 2
0
void wAppIconDestroy(WAppIcon *aicon)
{
	RemoveFromStackList(aicon->icon->vscr, aicon->icon->core);
	wIconDestroy(aicon->icon);
	if (aicon->command)
		wfree(aicon->command);
#ifdef USE_DOCK_XDND
	if (aicon->dnd_command)
		wfree(aicon->dnd_command);
#endif
	if (aicon->wm_instance)
		wfree(aicon->wm_instance);

	if (aicon->wm_class)
		wfree(aicon->wm_class);

	remove_from_appicon_list(aicon);

	aicon->destroyed = 1;
	wrelease(aicon);
}