mirror of
https://github.com/libretro/RetroArch
synced 2025-02-21 00:40:09 +00:00
Make improved version of this - 873d60151f
This commit is contained in:
parent
50eb4adc4b
commit
7260e52a23
@ -2340,6 +2340,24 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if defined(HAVE_MENU) && defined(HAVE_RGUI)
|
||||
static bool check_menu_driver_compatibility(void)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
char *video_driver = settings->arrays.video_driver;
|
||||
char *menu_driver = settings->arrays.menu_driver;
|
||||
|
||||
if (string_is_equal (menu_driver, "rgui") ||
|
||||
string_is_equal(menu_driver, "null"))
|
||||
return true;
|
||||
|
||||
if (menu_display_driver_exists(video_driver))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void read_keybinds_keyboard(config_file_t *conf, unsigned user,
|
||||
unsigned idx, struct retro_keybind *bind)
|
||||
{
|
||||
@ -3045,6 +3063,11 @@ static bool config_load_file(const char *path, bool set_defaults,
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(HAVE_MENU) && defined(HAVE_RGUI)
|
||||
if (!check_menu_driver_compatibility())
|
||||
strlcpy(settings->arrays.menu_driver, "rgui", sizeof(settings->arrays.menu_driver));
|
||||
#endif
|
||||
|
||||
frontend_driver_set_sustained_performance_mode(settings->bools.sustained_performance_mode);
|
||||
recording_driver_update_streaming_url();
|
||||
|
||||
|
@ -634,6 +634,18 @@ float menu_display_get_dpi(void)
|
||||
return dpi;
|
||||
}
|
||||
|
||||
bool menu_display_driver_exists(const char *s)
|
||||
{
|
||||
unsigned i;
|
||||
for (i = 0; i < ARRAY_SIZE(menu_display_ctx_drivers); i++)
|
||||
{
|
||||
if (string_is_equal(s, menu_display_ctx_drivers[i]->ident))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool menu_display_init_first_driver(bool video_is_threaded)
|
||||
{
|
||||
unsigned i;
|
||||
|
@ -824,6 +824,8 @@ void menu_display_reset_textures_list(
|
||||
int menu_display_osk_ptr_at_pos(void *data, int x, int y,
|
||||
unsigned width, unsigned height);
|
||||
|
||||
bool menu_display_driver_exists(const char *s);
|
||||
|
||||
void menu_driver_destroy(void);
|
||||
|
||||
extern uintptr_t menu_display_white_texture;
|
||||
|
Loading…
x
Reference in New Issue
Block a user