@@ -2793,7 +2793,7 @@ static void xmb_list_switch(xmb_handle_t *xmb)
27932793 unsigned remember_selection_type = settings -> uints .menu_remember_selection ;
27942794 unsigned xmb_system_tab = xmb_get_system_tab (xmb , (unsigned )xmb -> categories_selection_ptr );
27952795 bool xmb_main_tab_selected = false;
2796- bool horizontal_animation = settings -> bools .menu_horizontal_animation ;
2796+ bool horizontal_animation = settings -> bools .menu_horizontal_animation && xmb -> allow_horizontal_animation ;
27972797 int list_delta = 0 ;
27982798 unsigned animation_horizontal_highlight
27992799 = settings -> uints .menu_xmb_animation_horizontal_highlight ;
@@ -3500,7 +3500,7 @@ static void xmb_populate_entries(void *data,
35003500 else
35013501 xmb_list_open (xmb ,
35023502 settings -> uints .menu_xmb_animation_opening_main_menu ,
3503- settings -> bools .menu_horizontal_animation ,
3503+ settings -> bools .menu_horizontal_animation && xmb -> allow_horizontal_animation ,
35043504 settings -> bools .savestate_thumbnail_enable );
35053505
35063506 xmb_set_title (xmb );
@@ -9309,6 +9309,10 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
93099309 if (ctx_gen != xmb -> context_generation )
93109310 goto ctx_destroyed ;
93119311
9312+ /* Restore horizontal animation ability after first toggle */
9313+ if (xmb -> is_first_frame )
9314+ xmb -> allow_horizontal_animation = true;
9315+
93129316 /* First-frame init done — subsequent frames are normal.
93139317 * Cleared after the last ctx-destroyed guard so that a context
93149318 * death mid-frame leaves the flag set for the retry. */
@@ -9999,6 +10003,10 @@ static void xmb_toggle(void *userdata, bool menu_on)
999910003 else
1000010004 menu_st -> flags |= MENU_ST_FLAG_PREVENT_POPULATE ;
1000110005
10006+ /* Prevent initial jumping with startup page and CLI launch */
10007+ if (xmb -> is_first_frame )
10008+ xmb -> allow_horizontal_animation = false;
10009+
1000210010 xmb_toggle_horizontal_list (xmb );
1000310011
1000410012 /* Skip the fade-in on the very first frame after init: at
0 commit comments