rem: if (WMGetBagItemCount(lPtr->items) - lPtr->topItem <= lPtr->fullFitLines) { lPtr->topItem = WMGetBagItemCount(lPtr->items) - lPtr->fullFitLines; if (lPtr->topItem < 0) lPtr->topItem = 0;
add: if (WMGetArrayItemCount(lPtr->items) - lPtr->topItem <= lPtr->fullFitLines) { lPtr->topItem = WMGetArrayItemCount(lPtr->items) - lPtr->fullFitLines; if (lPtr->topItem < 0) lPtr->topItem = 0;
context: updateGeometry(WMList *lPtr){        lPtr->fullFitLines = (lPtr->view->size.height - 4) / lPtr->itemHeight;    if (lPtr->fullFitLines * lPtr->itemHeight < lPtr->view->size.height - 4) {	lPtr->flags.dontFitAll = 1;    } else {	lPtr->flags.dontFitAll = 0;    }    if (WMGetBagItemCount(lPtr->items) - lPtr->topItem <= lPtr->fullFitLines) {	lPtr->topItem = WMGetBagItemCount(lPtr->items) - lPtr->fullFitLines;	if (lPtr->topItem < 0)	    lPtr->topItem = 0;    }    updateScroller(lPtr);}