diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 78b56a45f4..83404af312 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -287,3 +287,13 @@ void menu_driver_render(void) if (driver->menu_ctx && driver->menu_ctx->render) driver->menu_ctx->render(); } + +void menu_driver_toggle(bool latch) +{ + driver_t *driver = driver_get_ptr(); + if (!driver) + return; + + if (driver->menu_ctx && driver->menu_ctx->toggle) + driver->menu_ctx->toggle(latch); +} diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 3aa136a2a9..da38d7fe34 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -310,6 +310,8 @@ void menu_driver_free(menu_handle_t *menu); void menu_driver_render(void); +void menu_driver_toggle(bool latch); + #ifdef __cplusplus } #endif diff --git a/retroarch.c b/retroarch.c index 6b515dfbba..9ca3696635 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2055,8 +2055,7 @@ void rarch_main_set_state(unsigned cmd) if (!menu) return; - if (driver->menu_ctx && driver->menu_ctx->toggle) - driver->menu_ctx->toggle(true); + menu_driver_toggle(true); /* Menu should always run with vsync on. */ rarch_main_command(RARCH_CMD_VIDEO_SET_BLOCKING_STATE); @@ -2091,8 +2090,7 @@ void rarch_main_set_state(unsigned cmd) #ifdef HAVE_MENU menu_apply_deferred_settings(); - if (driver->menu_ctx && driver->menu_ctx->toggle) - driver->menu_ctx->toggle(false); + menu_driver_toggle(false); runloop->is_menu = false;