diff --git a/menu/cbs/menu_cbs_cancel.c b/menu/cbs/menu_cbs_cancel.c index 35407e75f0..fdfcffb1e4 100644 --- a/menu/cbs/menu_cbs_cancel.c +++ b/menu/cbs/menu_cbs_cancel.c @@ -42,12 +42,18 @@ static int action_cancel_pop_default(const char *path, RARCH_LOG("menu_label: %s\n", menu_label); #endif - if (!string_is_empty(menu_label) && + if (!string_is_empty(menu_label)) + { + if ( string_is_equal(menu_label, - msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST) - ) - ) - filebrowser_clear_type(); + msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST) + ) || + string_is_equal(menu_label, + msg_hash_to_str(MENU_ENUM_LABEL_MENU_WALLPAPER) + ) + ) + filebrowser_clear_type(); + } menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &new_selection_ptr); menu_entries_pop_stack(&new_selection_ptr, 0, 1); diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index fc0db30d24..8eb0588a47 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -1652,7 +1652,7 @@ static int action_ok_menu_wallpaper(const char *path, static int action_ok_menu_wallpaper_load(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { - + filebrowser_clear_type(); return generic_action_ok(path, label, type, idx, entry_idx, ACTION_OK_LOAD_WALLPAPER, MSG_UNKNOWN); } diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 8fb55bc3c2..de58bf7eaa 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -6171,7 +6171,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) strlcpy(info->exts, "filt", sizeof(info->exts)); break; case DISPLAYLIST_IMAGES: - filebrowser_clear_type(); + if (filebrowser_get_type() != FILEBROWSER_SELECT_IMAGE) + filebrowser_clear_type(); info->type_default = FILE_TYPE_IMAGE; { union string_list_elem_attr attr; diff --git a/menu/widgets/menu_filebrowser.c b/menu/widgets/menu_filebrowser.c index 503ad345a9..379d2357f7 100644 --- a/menu/widgets/menu_filebrowser.c +++ b/menu/widgets/menu_filebrowser.c @@ -224,6 +224,8 @@ void filebrowser_parse(void *data, unsigned type_data, bool extensions_honored) else file_type = FILE_TYPE_IMAGE; #endif + if (filebrowser_types == FILEBROWSER_SELECT_IMAGE) + file_type = FILE_TYPE_IMAGE; break; default: break;