mirror of
https://github.com/libretro/RetroArch
synced 2025-04-18 14:42:30 +00:00
(XMB) Temporary patch for the messagebox glitch
This commit is contained in:
parent
ee076f848e
commit
90d31a527c
@ -675,7 +675,7 @@ static int action_ok_playlist_entry(const char *path,
|
|||||||
{
|
{
|
||||||
case MENU_LABEL_COLLECTION:
|
case MENU_LABEL_COLLECTION:
|
||||||
case MENU_LABEL_RDB_ENTRY_START_CONTENT:
|
case MENU_LABEL_RDB_ENTRY_START_CONTENT:
|
||||||
menu_entries_pop_stack(&selection, 0);
|
menu_entries_pop_stack(&selection, 0, 1);
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION,
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION,
|
||||||
&selection);
|
&selection);
|
||||||
break;
|
break;
|
||||||
@ -1113,7 +1113,7 @@ static int action_ok_core_deferred_set(const char *path,
|
|||||||
|
|
||||||
content_playlist_write_file(playlist);
|
content_playlist_write_file(playlist);
|
||||||
|
|
||||||
menu_entries_pop_stack(&selection, 0);
|
menu_entries_pop_stack(&selection, 0, 1);
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
||||||
|
|
||||||
return menu_cbs_exit();
|
return menu_cbs_exit();
|
||||||
|
@ -1496,7 +1496,7 @@ static int mui_pointer_tap(void *userdata,
|
|||||||
|
|
||||||
if (y < header_height)
|
if (y < header_height)
|
||||||
{
|
{
|
||||||
menu_entries_pop_stack(&selection, 0);
|
menu_entries_pop_stack(&selection, 0, 1);
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
||||||
}
|
}
|
||||||
else if (y > height - mui->tabs_height)
|
else if (y > height - mui->tabs_height)
|
||||||
|
@ -313,7 +313,7 @@ int generic_menu_iterate(void *data, void *userdata, enum menu_action action)
|
|||||||
|
|
||||||
if (menu_input_ctl(MENU_INPUT_CTL_BIND_ITERATE, &bind))
|
if (menu_input_ctl(MENU_INPUT_CTL_BIND_ITERATE, &bind))
|
||||||
{
|
{
|
||||||
menu_entries_pop_stack(&selection, 0);
|
menu_entries_pop_stack(&selection, 0, 0);
|
||||||
menu_navigation_ctl(
|
menu_navigation_ctl(
|
||||||
MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
||||||
}
|
}
|
||||||
@ -378,7 +378,7 @@ int generic_menu_iterate(void *data, void *userdata, enum menu_action action)
|
|||||||
if (BIT64_GET(menu->state, MENU_STATE_POP_STACK))
|
if (BIT64_GET(menu->state, MENU_STATE_POP_STACK))
|
||||||
{
|
{
|
||||||
size_t new_selection_ptr = selection;
|
size_t new_selection_ptr = selection;
|
||||||
menu_entries_pop_stack(&new_selection_ptr, 0);
|
menu_entries_pop_stack(&new_selection_ptr, 0, 0);
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -863,7 +863,7 @@ static int rgui_pointer_tap(void *data,
|
|||||||
|
|
||||||
if (y < header_height)
|
if (y < header_height)
|
||||||
{
|
{
|
||||||
menu_entries_pop_stack(&selection, 0);
|
menu_entries_pop_stack(&selection, 0, 1);
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
||||||
}
|
}
|
||||||
else if (ptr <= (menu_entries_get_size() - 1))
|
else if (ptr <= (menu_entries_get_size() - 1))
|
||||||
|
@ -3164,7 +3164,7 @@ static int xmb_pointer_tap(void *userdata,
|
|||||||
|
|
||||||
if (y < header_height)
|
if (y < header_height)
|
||||||
{
|
{
|
||||||
menu_entries_pop_stack(&selection, 0);
|
menu_entries_pop_stack(&selection, 0, 1);
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
||||||
}
|
}
|
||||||
else if (ptr <= (menu_entries_get_size() - 1))
|
else if (ptr <= (menu_entries_get_size() - 1))
|
||||||
|
@ -163,7 +163,7 @@ static int menu_entries_flush_stack_type(const char *needle, const char *label,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool menu_list_pop_stack(menu_list_t *list,
|
static bool menu_list_pop_stack(menu_list_t *list,
|
||||||
size_t idx, size_t *directory_ptr)
|
size_t idx, size_t *directory_ptr, bool cache)
|
||||||
{
|
{
|
||||||
menu_ctx_list_t list_info;
|
menu_ctx_list_t list_info;
|
||||||
bool refresh = false;
|
bool refresh = false;
|
||||||
@ -179,6 +179,7 @@ static bool menu_list_pop_stack(menu_list_t *list,
|
|||||||
list_info.type = MENU_LIST_PLAIN;
|
list_info.type = MENU_LIST_PLAIN;
|
||||||
list_info.action = 0;
|
list_info.action = 0;
|
||||||
|
|
||||||
|
if (cache)
|
||||||
menu_driver_ctl(RARCH_MENU_CTL_LIST_CACHE, &list_info);
|
menu_driver_ctl(RARCH_MENU_CTL_LIST_CACHE, &list_info);
|
||||||
|
|
||||||
if (menu_list->size != 0)
|
if (menu_list->size != 0)
|
||||||
@ -222,7 +223,7 @@ static void menu_list_flush_stack(menu_list_t *list,
|
|||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION,
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION,
|
||||||
&new_selection_ptr);
|
&new_selection_ptr);
|
||||||
|
|
||||||
if (!menu_list_pop_stack(list, idx, &new_selection_ptr))
|
if (!menu_list_pop_stack(list, idx, &new_selection_ptr, 1))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION,
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION,
|
||||||
@ -598,12 +599,12 @@ void menu_entries_flush_stack(const char *needle, unsigned final_type)
|
|||||||
menu_list_flush_stack(menu_list, 0, needle, final_type);
|
menu_list_flush_stack(menu_list, 0, needle, final_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
void menu_entries_pop_stack(size_t *ptr, size_t idx)
|
void menu_entries_pop_stack(size_t *ptr, size_t idx, bool cache)
|
||||||
{
|
{
|
||||||
menu_list_t *menu_list = NULL;
|
menu_list_t *menu_list = NULL;
|
||||||
menu_entries_ctl(MENU_ENTRIES_CTL_LIST_GET, &menu_list);
|
menu_entries_ctl(MENU_ENTRIES_CTL_LIST_GET, &menu_list);
|
||||||
if (menu_list)
|
if (menu_list)
|
||||||
menu_list_pop_stack(menu_list, idx, ptr);
|
menu_list_pop_stack(menu_list, idx, ptr, cache);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t menu_entries_get_stack_size(size_t idx)
|
size_t menu_entries_get_stack_size(size_t idx)
|
||||||
|
@ -147,7 +147,7 @@ void menu_entries_get_last_stack(const char **path, const char **label,
|
|||||||
|
|
||||||
menu_file_list_cbs_t *menu_entries_get_last_stack_actiondata(void);
|
menu_file_list_cbs_t *menu_entries_get_last_stack_actiondata(void);
|
||||||
|
|
||||||
void menu_entries_pop_stack(size_t *ptr, size_t idx);
|
void menu_entries_pop_stack(size_t *ptr, size_t idx, bool cache);
|
||||||
|
|
||||||
void menu_entries_flush_stack(const char *needle, unsigned final_type);
|
void menu_entries_flush_stack(const char *needle, unsigned final_type);
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ int menu_entry_go_back(void)
|
|||||||
size_t new_selection_ptr;
|
size_t new_selection_ptr;
|
||||||
|
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &new_selection_ptr);
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &new_selection_ptr);
|
||||||
menu_entries_pop_stack(&new_selection_ptr, 0);
|
menu_entries_pop_stack(&new_selection_ptr, 0, 1);
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &new_selection_ptr);
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &new_selection_ptr);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -880,7 +880,7 @@ static int menu_input_mouse_frame(
|
|||||||
|
|
||||||
if (BIT64_GET(input_mouse, MENU_MOUSE_ACTION_BUTTON_R))
|
if (BIT64_GET(input_mouse, MENU_MOUSE_ACTION_BUTTON_R))
|
||||||
{
|
{
|
||||||
menu_entries_pop_stack(&selection, 0);
|
menu_entries_pop_stack(&selection, 0, 1);
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -949,7 +949,7 @@ static int menu_input_mouse_post_iterate(uint64_t *input_mouse,
|
|||||||
/* Back button */
|
/* Back button */
|
||||||
if ((unsigned)menu_input_mouse_state(MENU_MOUSE_X_AXIS) < header_height)
|
if ((unsigned)menu_input_mouse_state(MENU_MOUSE_X_AXIS) < header_height)
|
||||||
{
|
{
|
||||||
menu_entries_pop_stack(&selection, 0);
|
menu_entries_pop_stack(&selection, 0, 1);
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1180,7 +1180,7 @@ static int menu_input_pointer_post_iterate(
|
|||||||
if (!pointer_oldback)
|
if (!pointer_oldback)
|
||||||
{
|
{
|
||||||
pointer_oldback = true;
|
pointer_oldback = true;
|
||||||
menu_entries_pop_stack(&selection, 0);
|
menu_entries_pop_stack(&selection, 0, 1);
|
||||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user