[1mdiff --git a/src/ui/widget.c b/src/ui/widget.c[m
[1mindex 04295497..addab9f0 100644[m
[1m--- a/src/ui/widget.c[m
[1m+++ b/src/ui/widget.c[m
[36m@@ -1236,6 +1236,7 @@[m [miBool dispatchEvent_Widget(iWidget *d, const SDL_Event *ev) {[m
[m
void scrollInfo_Widget(const iWidget *d, iWidgetScrollInfo *info) {[m
iRect bounds = boundsWithoutVisualOffset_Widget(d);[m
[32m+[m[32m iRect visBounds = bounds_Widget(d);[m
const iRect winRect = adjusted_Rect(safeRect_Root(d->root),[m
zero_I2(),[m
init_I2(0, -get_MainWindow()->keyboardHeight));[m
[36m@@ -1252,6 +1253,16 @@[m [mvoid scrollInfo_Widget(const iWidget *d, iWidgetScrollInfo *info) {[m
info->normScroll = iClamp(info->normScroll, 0.0f, 1.0f);[m
info->thumbHeight = iMin(info->avail / 2, info->avail * info->avail / info->height);[m
info->thumbY = top_Rect(winRect) + (info->avail - info->thumbHeight) * info->normScroll;[m
[32m+[m[32m /* Clamp it. */[m
[32m+[m[32m const iRangei ySpan = ySpan_Rect(visBounds);[m
[32m+[m[32m if (info->thumbY < ySpan.start) {[m
[32m+[m[32m info->thumbHeight += info->thumbY - ySpan.start;[m
[32m+[m[32m info->thumbY = ySpan.start;[m
[32m+[m[32m info->thumbHeight = iMax(7 * gap_UI, info->thumbHeight);[m
[32m+[m[32m }[m
[32m+[m[32m else if (info->thumbY + info->thumbHeight > ySpan.end) {[m
[32m+[m[32m info->thumbHeight = ySpan.end - info->thumbY;[m
[32m+[m[32m }[m
}[m
}[m
[m
text/plain
This content has been proxied by September (3851b).