X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fgadgets.c;h=fc723cf9bf5a83840a5351f5f76c44bf696fdc75;hb=d1ff6ce8cc755f54833fb2363a1f4519e2866a0f;hp=ede8cfc7f54cad4888b0209ef96a99db72a93f24;hpb=6e392e90d99cc0b6d8af3a15fc334bf34f889994;p=rocksndiamonds.git diff --git a/src/libgame/gadgets.c b/src/libgame/gadgets.c index ede8cfc7..fc723cf9 100644 --- a/src/libgame/gadgets.c +++ b/src/libgame/gadgets.c @@ -1687,11 +1687,12 @@ boolean HandleGadgets(int mx, int my, int button) struct GadgetScrollbar *gs = &gi->scrollbar; int old_item_position = gs->item_position; + int item_steps = gs->items_visible - 1; + int item_direction = (mpos < gpos + gi->scrollbar.position ? -1 : +1); changed_position = FALSE; - gs->item_position += - gs->items_visible * (mpos < gpos + gi->scrollbar.position ? -1 : +1); + gs->item_position += item_steps * item_direction; if (gs->item_position < 0) gs->item_position = 0;