(XMB) Temporary patch for the messagebox glitch

This commit is contained in:
Jean-André Santoni 2016-04-26 00:09:30 +07:00
parent ee076f848e
commit 90d31a527c
9 changed files with 18 additions and 17 deletions

View File

@ -675,7 +675,7 @@ static int action_ok_playlist_entry(const char *path,
{
case MENU_LABEL_COLLECTION:
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,
&selection);
break;
@ -1113,7 +1113,7 @@ static int action_ok_core_deferred_set(const char *path,
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);
return menu_cbs_exit();

View File

@ -1496,7 +1496,7 @@ static int mui_pointer_tap(void *userdata,
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);
}
else if (y > height - mui->tabs_height)

View File

@ -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))
{
menu_entries_pop_stack(&selection, 0);
menu_entries_pop_stack(&selection, 0, 0);
menu_navigation_ctl(
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))
{
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);
}

View File

@ -863,7 +863,7 @@ static int rgui_pointer_tap(void *data,
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);
}
else if (ptr <= (menu_entries_get_size() - 1))

View File

@ -3164,7 +3164,7 @@ static int xmb_pointer_tap(void *userdata,
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);
}
else if (ptr <= (menu_entries_get_size() - 1))

View File

@ -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,
size_t idx, size_t *directory_ptr)
size_t idx, size_t *directory_ptr, bool cache)
{
menu_ctx_list_t list_info;
bool refresh = false;
@ -179,7 +179,8 @@ static bool menu_list_pop_stack(menu_list_t *list,
list_info.type = MENU_LIST_PLAIN;
list_info.action = 0;
menu_driver_ctl(RARCH_MENU_CTL_LIST_CACHE, &list_info);
if (cache)
menu_driver_ctl(RARCH_MENU_CTL_LIST_CACHE, &list_info);
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,
&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;
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);
}
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_entries_ctl(MENU_ENTRIES_CTL_LIST_GET, &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)

View File

@ -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);
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);

View File

@ -39,7 +39,7 @@ int menu_entry_go_back(void)
size_t 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);
return 0;

View File

@ -880,7 +880,7 @@ static int menu_input_mouse_frame(
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);
}
@ -949,7 +949,7 @@ static int menu_input_mouse_post_iterate(uint64_t *input_mouse,
/* Back button */
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);
return 0;
}
@ -1180,7 +1180,7 @@ static int menu_input_pointer_post_iterate(
if (!pointer_oldback)
{
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);
}
}