diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 1bb3224ad3..ffb9ab7888 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2499,16 +2499,10 @@ static void xmb_context_destroy(void) menu_display_free_main_font(); } -static void xmb_toggle(bool menu_on) +static void xmb_toggle(void *userdata, bool menu_on) { bool tmp = false; - xmb_handle_t *xmb = NULL; - menu_handle_t *menu = menu_driver_get_ptr(); - - if (!menu) - return; - - xmb = (xmb_handle_t*)menu->userdata; + xmb_handle_t *xmb = (xmb_handle_t*)userdata; if (!xmb) return; diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 373b2547b4..761661838c 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -278,9 +278,10 @@ static void menu_driver_toggle(bool latch) settings_t *settings = config_get_ptr(); global_t *global = global_get_ptr(); rarch_system_info_t *system = rarch_system_info_get_ptr(); + menu_handle_t *menu = menu_driver_get_ptr(); if (menu_driver->toggle) - menu_driver->toggle(latch); + menu_driver->toggle(menu->userdata, latch); if (latch) menu_driver_ctl(RARCH_MENU_CTL_SET_ALIVE, NULL); diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 0b7499d75d..e6a3190a79 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -260,7 +260,7 @@ typedef struct menu_ctx_driver void (*populate_entries)(void *data, const char *path, const char *label, unsigned k); - void (*toggle)(bool); + void (*toggle)(void *userdata, bool); void (*navigation_clear)(bool); void (*navigation_decrement)(void); void (*navigation_increment)(void);