add: if (W_VIEW(mPtr)->size.width == newW && mPtr->view->size.height == newH+1) return;
context: updateMenuContents(WEditMenu *mPtr){    int newW, newH;    int w;    int i;    int iheight = mPtr->itemHeight;    int offs = 1;    WMBagIterator iter;    WEditMenuItem *item;    newW = 0;    newH = offs;    i = 0;    WM_ITERATE_BAG(mPtr->items, item, iter) {		w = getItemTextWidth(item);	newW = WMAX(w, newW);	WMMoveWidget(item, offs, newH);	if (i == 0 && mPtr->flags.isTitled) {	    newH += mPtr->titleHeight;	} else {	    newH += iheight;	}	i = 1;    }    newW += iheight + 10;    newH--;        if (mPtr->minSize.width)	newW = WMAX(newW, mPtr->minSize.width);    if (mPtr->maxSize.width)	newW = WMIN(newW, mPtr->maxSize.width);        if (mPtr->minSize.height)	newH = WMAX(newH, mPtr->minSize.height);    if (mPtr->maxSize.height)	newH = WMIN(newH, mPtr->maxSize.height);    W_ResizeView(mPtr->view, newW, newH+1);    if (mPtr->closeB)	WMMoveWidget(mPtr->closeB, newW - 20, 3);    newW -= 2*offs;        i = 0;    WM_ITERATE_BAG(mPtr->items, item, iter) {	if (i == 0 && mPtr->flags.isTitled) {	    WMResizeWidget(item, newW, mPtr->titleHeight);	    	} else {	    WMResizeWidget(item, newW, iheight);	}	i = 1;    }}