diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 5e1cd99fae..877131f320 100755 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2268,6 +2268,9 @@ static void xmb_calculate_visible_range(const xmb_handle_t *xmb, unsigned j; float base_y = xmb->margins.screen.top; + *first = 0; + *last = list_size ? list_size - 1 : 0; + if (current) { for (j = current; j-- > 0; ) @@ -3967,8 +3970,8 @@ static void xmb_list_cache(void *data, enum menu_list_type type, unsigned action return; /* FIXME: this shouldn't be happening at all */ - if (selection >= xmb->selection_buf_old->size) - selection = xmb->selection_buf_old->size ? xmb->selection_buf_old->size - 1 : 0; + if (selection >= selection_buf->size) + selection = selection_buf->size ? selection_buf->size - 1 : 0; xmb->selection_ptr_old = selection;