add: WMSetBalloonTextForView(NULL, view);
context: destroyView(W_View *view){    W_View *ptr;    if (view->flags.alreadyDead)	return;    view->flags.alreadyDead = 1;        if (view->nextFocusChain)        view->nextFocusChain->prevFocusChain = view->prevFocusChain;    if (view->prevFocusChain)        view->prevFocusChain->nextFocusChain = view->nextFocusChain;    /* Do not leave focus in a inexisting control */    if (W_FocusedViewOfToplevel(W_TopLevelOfView(view))==view)	W_SetFocusOfTopLevel(W_TopLevelOfView(view), NULL);        if (view->flags.topLevel) {	W_FocusInfo *info = view->screen->focusInfo;	/* remove focus information associated to this toplevel */		if (info) {	    if (info->toplevel==view) {		view->screen->focusInfo = info->next;		free(info);	    } else {		while (info->next) {		    if (info->next->toplevel == view)			break;		    info = info->next;		}		if (info->next) {		    W_FocusInfo *next = info->next->next;		    free(info->next);		    info->next = next;		} 		/* else the toplevel did not have any focused subview */	    }	}    }        /* destroy children recursively */    while (view->childrenList!=NULL) {	ptr = view->childrenList;	ptr->flags.parentDying = 1;	W_DestroyView(ptr);	if (ptr == view->childrenList) {	    view->childrenList = ptr->nextSister;	    ptr->parent = NULL;	}    }    W_CallDestroyHandlers(view);    if (view->flags.realized) {	XDeleteContext(view->screen->display, view->window, ViewContext);    	/* if parent is being destroyed, it will die naturaly */	if (!view->flags.parentDying || view->flags.topLevel)	    XDestroyWindow(view->screen->display, view->window);    }        /* remove self from parent's children list */    unparentView(view);    W_CleanUpEvents(view);#if 0        if (view->dragSourceProcs)	free(view->dragSourceProcs);    if (view->dragDestinationProcs)	free(view->dragDestinationProcs);#endif    free(view);}