Safety for menu_shader_get()

This commit is contained in:
sonninnos 2025-07-08 22:36:38 +03:00
parent 48f5677417
commit ac959fef26
1 changed files with 12 additions and 6 deletions

View File

@ -3667,10 +3667,13 @@ bool command_event(enum event_command cmd, void *data)
#ifdef HAVE_MENU
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL)
/* Restore shader option state after temporary fast toggling */
if (menu_shader_get()->flags & SHDR_FLAG_TEMPORARY)
{
bool enabled = !(menu_shader_get()->flags & SHDR_FLAG_DISABLED);
configuration_set_bool(settings, settings->bools.video_shader_enable, enabled);
const struct video_shader *menu_shader = menu_shader_get();
if (menu_shader && menu_shader->flags & SHDR_FLAG_TEMPORARY)
{
bool enabled = !(menu_shader->flags & SHDR_FLAG_DISABLED);
configuration_set_bool(settings, settings->bools.video_shader_enable, enabled);
}
}
#endif
#endif
@ -8627,10 +8630,13 @@ bool retroarch_main_quit(void)
#ifdef HAVE_MENU
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL)
/* Restore shader option state after temporary fast toggling */
if (menu_shader_get()->flags & SHDR_FLAG_TEMPORARY)
{
bool enabled = !(menu_shader_get()->flags & SHDR_FLAG_DISABLED);
configuration_set_bool(settings, settings->bools.video_shader_enable, enabled);
const struct video_shader *menu_shader = menu_shader_get();
if (menu_shader && menu_shader->flags & SHDR_FLAG_TEMPORARY)
{
bool enabled = !(menu_shader->flags & SHDR_FLAG_DISABLED);
configuration_set_bool(settings, settings->bools.video_shader_enable, enabled);
}
}
#endif
#endif