rem: *vamount = MIN(MENU_SCROLL_STEP, abs(menuY1));
add: *vamount = WMIN(MENU_SCROLL_STEP, abs(menuY1));
context: getScrollAmount(WMenu *menu, int *hamount, int *vamount){    WScreen *scr = menu->menu->screen_ptr;    int menuX1 = menu->frame_x;    int menuY1 = menu->frame_y;    int menuX2 = menu->frame_x + MENUW(menu);    int menuY2 = menu->frame_y + MENUH(menu);    int screenW = scr->scr_width;    int screenH = scr->scr_height;    int xroot, yroot;        *hamount = 0;    *vamount = 0;        getPointerPosition(scr, &xroot, &yroot);#ifdef VIRTUAL_DESKTOP    if (wPreferences.vedge_thickness) {        if (xroot <= wPreferences.vedge_thickness + 1 && menuX1 < wPreferences.vedge_thickness) {            /* scroll to the right */            *hamount = MIN(MENU_SCROLL_STEP, abs(menuX1));        } else if (xroot >= screenW-2-wPreferences.vedge_thickness && menuX2 > screenW-1-wPreferences.vedge_thickness) {            /* scroll to the left */            *hamount = MIN(MENU_SCROLL_STEP, abs(menuX2-screenW-1));            if (*hamount==0)                *hamount = 1;            *hamount = -*hamount;        }    } else#endif    if (xroot <= 1 && menuX1 < 0) {	/* scroll to the right */	*hamount = MIN(MENU_SCROLL_STEP, abs(menuX1));    } else if (xroot >= screenW-2 && menuX2 > screenW-1) {	/* scroll to the left */	*hamount = MIN(MENU_SCROLL_STEP, abs(menuX2-screenW-1));		if (*hamount==0)	    *hamount = 1;	*hamount = -*hamount;    }        if (yroot <= 1 && menuY1 < 0) {	/* scroll down */	*vamount = MIN(MENU_SCROLL_STEP, abs(menuY1));            } else if (yroot >= screenH-2 && menuY2 > screenH-1) {	/* scroll up */	*vamount = MIN(MENU_SCROLL_STEP, abs(menuY2-screenH-2));        	*vamount = -*vamount;    }}