diff --git a/menu/menu_display.c b/menu/menu_display.c index 555b1b1168..730f61bbc8 100644 --- a/menu/menu_display.c +++ b/menu/menu_display.c @@ -479,7 +479,7 @@ void menu_display_draw(menu_display_ctx_draw_t *draw) bool menu_display_shader_pipeline_active(void) { settings_t *settings = config_get_ptr(); - if (!string_is_equal(settings->menu.driver, "xmb")) + if (!string_is_equal(menu_driver_ident(), "xmb")) return false; if (settings->menu.xmb.shader_pipeline == 0) return false; diff --git a/menu/menu_driver.c b/menu/menu_driver.c index c411986064..28e342518d 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -276,6 +276,15 @@ static void menu_driver_toggle(bool latch) input_driver_set_flushing_input(); } +const char *menu_driver_ident(void) +{ + if (!menu_driver_alive) + return NULL; + if (!menu_driver_ctx || !menu_driver_ctx->ident) + return NULL; + return menu_driver_ctx->ident; +} + bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data) { switch (state) diff --git a/menu/menu_driver.h b/menu/menu_driver.h index da6d3421b1..f3ec9f263e 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -414,6 +414,8 @@ const char* config_get_menu_driver_options(void); /* HACK */ extern unsigned int rdb_entry_start_game_selection_ptr; +const char *menu_driver_ident(void); + bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data); extern menu_ctx_driver_t menu_ctx_xui;