From b8fbc58e4432c14024bd360a4154c4ef3a7b7590 Mon Sep 17 00:00:00 2001 From: Themaister Date: Fri, 11 Oct 2013 09:14:31 +0200 Subject: [PATCH] Update core info when INFO_DIR changes. --- frontend/menu/menu_settings.c | 6 ++++++ frontend/menu/rgui.c | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/frontend/menu/menu_settings.c b/frontend/menu/menu_settings.c index 64615a543b..358d308d4f 100644 --- a/frontend/menu/menu_settings.c +++ b/frontend/menu/menu_settings.c @@ -577,7 +577,13 @@ int menu_set_settings(unsigned setting, unsigned action) #endif case RGUI_LIBRETRO_INFO_DIR_PATH: if (action == RGUI_ACTION_START) + { *g_settings.libretro_info_path = '\0'; + core_info_list_free(rgui->core_info); + rgui->core_info = NULL; + if (*rgui->libretro_dir) + rgui->core_info = core_info_list_new(rgui->libretro_dir); + } break; case RGUI_CONFIG_DIR_PATH: if (action == RGUI_ACTION_START) diff --git a/frontend/menu/rgui.c b/frontend/menu/rgui.c index 3d297eb523..07d2d72067 100644 --- a/frontend/menu/rgui.c +++ b/frontend/menu/rgui.c @@ -1441,6 +1441,10 @@ static int rgui_iterate(void *data, unsigned action) else if (menu_type == RGUI_LIBRETRO_INFO_DIR_PATH) { strlcpy(g_settings.libretro_info_path, dir, sizeof(g_settings.libretro_info_path)); + core_info_list_free(rgui->core_info); + rgui->core_info = NULL; + if (*rgui->libretro_dir) + rgui->core_info = core_info_list_new(rgui->libretro_dir); rgui_flush_menu_stack_type(rgui, RGUI_SETTINGS_PATH_OPTIONS); } else if (menu_type == RGUI_SHADER_DIR_PATH)