rem: if ((mePtr->type == CASCADE_ENTRY) && drawArrow) { RECT rect;
add: gc->foreground = GetSysColor(COLOR_GRAYTEXT);
context: DrawMenuEntryArrow(menuPtr, mePtr, d, gc,	activeBorder, x, y, width, height, drawArrow)    TkMenu *menuPtr;			/* The menu we are drawing */    TkMenuEntry *mePtr;			/* The entry we are drawing */    Drawable d;				/* What we are drawing into */    GC gc;				/* The gc we are drawing with */    Tk_3DBorder activeBorder;		/* The border when an item is active */    int x;				/* left edge */    int y;				/* top edge */    int width;				/* Width of menu entry */    int height;				/* Height of menu entry */    int drawArrow;			/* For cascade menus, whether of not					 * to draw the arraw. I cannot figure					 * out Windows' algorithm for where					 * to draw this. */{    if ((mePtr->state == ENTRY_DISABLED) && (menuPtr->disabledFgPtr != NULL)	    && ((mePtr->type == CASCADE_ENTRY) && drawArrow)) {	COLORREF oldFgColor = gc->foreground;	gc->foreground = GetSysColor(COLOR_3DHILIGHT);	if (mePtr->type == CASCADE_ENTRY) {	    RECT rect;	    rect.top = y + GetSystemMetrics(SM_CYBORDER) + 1;	    rect.bottom = y + height - GetSystemMetrics(SM_CYBORDER) + 1;	    rect.left = x + mePtr->indicatorSpace + mePtr->labelWidth + 1;	    rect.right = x + width;	    DrawWindowsSystemBitmap(menuPtr->display, d, gc, &rect, 		    OBM_MNARROW, ALIGN_BITMAP_RIGHT);	}	gc->foreground = oldFgColor;    }    if ((mePtr->type == CASCADE_ENTRY) && drawArrow) {	RECT rect;	rect.top = y + GetSystemMetrics(SM_CYBORDER);	rect.bottom = y + height - GetSystemMetrics(SM_CYBORDER);	rect.left = x + mePtr->indicatorSpace + mePtr->labelWidth;	rect.right = x + width - 1;	DrawWindowsSystemBitmap(menuPtr->display, d, gc, &rect, OBM_MNARROW, 		ALIGN_BITMAP_RIGHT);    }}