diff --git a/src/sbbs3/js_uifc.c b/src/sbbs3/js_uifc.c index 73859ad91d5c40149187212bcfc53d50e4c4c795..f0883ef4a0a14230423c29b7a25a80d8d466a089 100644 --- a/src/sbbs3/js_uifc.c +++ b/src/sbbs3/js_uifc.c @@ -346,6 +346,7 @@ static JSBool js_list_ctx_constructor(JSContext *cx, uintN argc, jsval *arglist) JS_ReportError(cx, "JS_SetPrivate failed"); return JS_FALSE; } + p->bar = INT_MAX; js_SyncResolve(cx, obj, NULL, js_uifc_list_class_properties, NULL, NULL, 0); #ifdef BUILD_JSDOCS js_DescribeSyncObject(cx, obj, "Class used to retain UIFC list menu context", 317); diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c index 2e1f9ac1af8a4a59524dba73619b5e943f4b3890..53caa23d1dbbc8cf1ae3f5a8fd9211fce2f5e207 100644 --- a/src/uifc/uifc32.c +++ b/src/uifc/uifc32.c @@ -927,11 +927,11 @@ int ulist(int mode, int left, int top, int width, int *cur, int *bar (*bar)=opts-1; if((*bar)<0) (*bar)=0; - if((*cur)<(*bar)) - (*cur)=(*bar); i=(*cur)-(*bar); if(i+(height-vbrdrsize-1)>=opts) { (*bar)=(height-vbrdrsize); + if (*bar > *cur) + *bar = *cur; i=(*cur)-(*bar)+1; } }