mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-01-18 08:52:41 +00:00
Fix crash when rgui->info.library_name is NULL.
If retroarch was started with g_settings.libretro as a directory, and a ROM loaded. Going into RGUI would see g_settings.libretro as a directory and rgui->info wouldn't be properly initialized. Fixed by updating g_settings.libretro if a specific core is resolved.
This commit is contained in:
parent
a01defd01b
commit
13f0a8548f
12
dynamic.c
12
dynamic.c
@ -277,11 +277,9 @@ static void load_symbols(bool is_dummy)
|
||||
else
|
||||
{
|
||||
#ifdef HAVE_DYNAMIC
|
||||
const char *libretro_path = g_settings.libretro;
|
||||
char libretro_core_buffer[PATH_MAX];
|
||||
|
||||
if (path_is_directory(g_settings.libretro))
|
||||
{
|
||||
char libretro_core_buffer[PATH_MAX];
|
||||
if (!find_first_libretro(libretro_core_buffer, sizeof(libretro_core_buffer),
|
||||
g_settings.libretro, g_extern.fullpath))
|
||||
{
|
||||
@ -289,14 +287,14 @@ static void load_symbols(bool is_dummy)
|
||||
rarch_fail(1, "load_dynamic()");
|
||||
}
|
||||
|
||||
libretro_path = libretro_core_buffer;
|
||||
strlcpy(g_settings.libretro, libretro_core_buffer, sizeof(g_settings.libretro));
|
||||
}
|
||||
|
||||
RARCH_LOG("Loading dynamic libretro from: \"%s\"\n", libretro_path);
|
||||
lib_handle = dylib_load(libretro_path);
|
||||
RARCH_LOG("Loading dynamic libretro from: \"%s\"\n", g_settings.libretro);
|
||||
lib_handle = dylib_load(g_settings.libretro);
|
||||
if (!lib_handle)
|
||||
{
|
||||
RARCH_ERR("Failed to open dynamic library: \"%s\"\n", libretro_path);
|
||||
RARCH_ERR("Failed to open dynamic library: \"%s\"\n", g_settings.libretro);
|
||||
rarch_fail(1, "load_dynamic()");
|
||||
}
|
||||
#endif
|
||||
|
@ -379,9 +379,12 @@ void load_menu_game_prepare(void)
|
||||
}
|
||||
|
||||
if (rgui->history)
|
||||
{
|
||||
rom_history_push(rgui->history,
|
||||
*g_extern.fullpath ? g_extern.fullpath : NULL,
|
||||
g_settings.libretro, rgui->info.library_name);
|
||||
g_settings.libretro,
|
||||
rgui->info.library_name);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef HAVE_RGUI
|
||||
|
Loading…
x
Reference in New Issue
Block a user