diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 555b26c6e6..f1ff6b54fc 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2435,16 +2435,16 @@ static void xmb_render(void *data, bool is_idle) if (pointer_enable || mouse_enable) { - size_t selection = menu_navigation_get_selection(); + size_t selection = menu_navigation_get_selection(); + int16_t pointer_y = menu_input_pointer_state(MENU_POINTER_Y_AXIS); + int16_t mouse_y = menu_input_mouse_state(MENU_MOUSE_Y_AXIS) + + (xmb->cursor.size/2); for (i = 0; i < end; i++) { float item_y1 = xmb->margins.screen.top + xmb_item_y(xmb, (int)i, selection); float item_y2 = item_y1 + xmb->icon.size; - int16_t pointer_y = menu_input_pointer_state(MENU_POINTER_Y_AXIS); - int16_t mouse_y = menu_input_mouse_state(MENU_MOUSE_Y_AXIS) - + (xmb->cursor.size/2); if (pointer_enable) { diff --git a/menu/menu_animation.c b/menu/menu_animation.c index 8464a7876c..8b517fb2d7 100644 --- a/menu/menu_animation.c +++ b/menu/menu_animation.c @@ -673,7 +673,7 @@ bool menu_animation_ctl(enum menu_animation_ctl_state state, void *data) (menu_animation_ctx_subject_t*)data; float **sub = (float**)subject->data; - for (i = 0; i < anim.size; ++i) + for (i = 0; i < anim.size && killed < subject->count; ++i) { if (!anim.list[i].alive) continue;