From e53705de1123deb2b9e92f0b45a676c8bb55b631 Mon Sep 17 00:00:00 2001 From: Dave Davenport Date: Mon, 14 Sep 2015 18:19:20 +0200 Subject: [PATCH] Fix scrolling on edges --- source/scrollbar.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/scrollbar.c b/source/scrollbar.c index 85ad3bb7..24660985 100644 --- a/source/scrollbar.c +++ b/source/scrollbar.c @@ -135,10 +135,11 @@ void scrollbar_draw ( scrollbar *sb ) unsigned int scrollbar_clicked ( scrollbar *sb, int y ) { if ( sb != NULL ) { + y = MIN ( MAX ( 1, y ), sb->h - 1 ) - 1; const short bh = sb->h - 2; float sec = ( ( bh ) / (float) sb->length ); unsigned int sel = y / sec; - return sel; + return MIN ( sel, sb->length - 1 ); } return 0; }