diff --git a/menu/menu.c b/menu/menu.c index bae005c75d..cbc6221140 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -88,11 +88,12 @@ static void menu_environment_get(int *argc, char *argv[], driver_t *driver = driver_get_ptr(); global_t *global = global_get_ptr(); settings_t *settings = config_get_ptr(); + menu_handle_t *menu = menu_driver_get_ptr(); if (!wrap_args) return; - wrap_args->no_content = driver->menu->load_no_content; + wrap_args->no_content = menu->load_no_content; if (!global->has_set_verbosity) wrap_args->verbose = global->verbosity; @@ -140,12 +141,13 @@ static void push_to_history_playlist(void) **/ bool menu_load_content(void) { + menu_handle_t *menu = menu_driver_get_ptr(); driver_t *driver = driver_get_ptr(); global_t *global = global_get_ptr(); /* redraw menu frame */ - if (driver->menu) - driver->menu->msg_force = true; + if (menu) + menu->msg_force = true; menu_driver_entry_iterate(MENU_ACTION_NOOP); @@ -160,17 +162,17 @@ bool menu_load_content(void) snprintf(msg, sizeof(msg), "Failed to load %s.\n", name); rarch_main_msg_queue_push(msg, 1, 90, false); - if (driver->menu) - driver->menu->msg_force = true; + if (menu) + menu->msg_force = true; return false; } - menu_shader_manager_init(driver->menu); + menu_shader_manager_init(menu); event_command(EVENT_CMD_HISTORY_INIT); - if (*global->fullpath || (driver->menu && driver->menu->load_no_content)) + if (*global->fullpath || (menu && menu->load_no_content)) push_to_history_playlist(); event_command(EVENT_CMD_VIDEO_SET_ASPECT_RATIO); diff --git a/menu/menu_input.c b/menu/menu_input.c index 6cd4e862e7..d35cdc19ac 100644 --- a/menu/menu_input.c +++ b/menu/menu_input.c @@ -180,7 +180,7 @@ void menu_input_search_start(void) menu->keyboard.display = true; menu->keyboard.label = "Search: "; menu->keyboard.buffer = - input_keyboard_start_line(driver->menu, menu_input_search_callback); + input_keyboard_start_line(menu, menu_input_search_callback); } void menu_input_key_event(bool down, unsigned keycode, @@ -683,8 +683,8 @@ static int menu_input_mouse_post_iterate(menu_file_list_cbs_t *cbs, driver_t *driver = driver_get_ptr(); rarch_setting_t *setting = (rarch_setting_t*)setting_find_setting - (driver->menu->list_settings, - driver->menu->menu_list->selection_buf->list[menu->navigation.selection_ptr].label); + (menu->list_settings, + menu->menu_list->selection_buf->list[menu->navigation.selection_ptr].label); menu->mouse.oldleft = true; #if 0 @@ -768,8 +768,8 @@ static int menu_input_pointer_post_iterate(menu_file_list_cbs_t *cbs, menu->pointer.oldpressed[0] = false; setting = (rarch_setting_t*)setting_find_setting - (driver->menu->list_settings, - driver->menu->menu_list->selection_buf->list[menu->navigation.selection_ptr].label); + (menu->list_settings, + menu->menu_list->selection_buf->list[menu->navigation.selection_ptr].label); if (menu->mouse.ptr == menu->navigation.selection_ptr && !menu->pointer.cancel && cbs && cbs->action_toggle && setting && diff --git a/menu/menu_navigation.c b/menu/menu_navigation.c index fadf8984bb..1a65dce796 100644 --- a/menu/menu_navigation.c +++ b/menu/menu_navigation.c @@ -46,6 +46,7 @@ void menu_navigation_clear(menu_navigation_t *nav, bool pending_push) void menu_navigation_decrement(menu_navigation_t *nav, unsigned scroll_speed) { driver_t *driver = driver_get_ptr(); + menu_handle_t *menu = menu_driver_get_ptr(); settings_t *settings = config_get_ptr(); if (!nav) @@ -58,7 +59,7 @@ void menu_navigation_decrement(menu_navigation_t *nav, unsigned scroll_speed) { if (settings->menu.navigation.wraparound.vertical_enable) menu_navigation_set(nav, - menu_list_get_size(driver->menu->menu_list) - 1, true); + menu_list_get_size(menu->menu_list) - 1, true); else menu_navigation_set(nav, 0, true); } @@ -75,11 +76,12 @@ void menu_navigation_increment(menu_navigation_t *nav, unsigned scroll_speed) { driver_t *driver = driver_get_ptr(); settings_t *settings = config_get_ptr(); + menu_handle_t *menu = menu_driver_get_ptr(); if (!nav) return; - if (nav->selection_ptr + scroll_speed < (menu_list_get_size(driver->menu->menu_list))) + if (nav->selection_ptr + scroll_speed < (menu_list_get_size(menu->menu_list))) menu_navigation_set(nav, nav->selection_ptr + scroll_speed, true); else @@ -88,7 +90,7 @@ void menu_navigation_increment(menu_navigation_t *nav, unsigned scroll_speed) menu_navigation_clear(nav, false); else menu_navigation_set(nav, - menu_list_get_size(driver->menu->menu_list) - 1, true); + menu_list_get_size(menu->menu_list) - 1, true); } menu_driver_navigation_increment(); diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 74cdcccc68..a57d2a8099 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -99,7 +99,9 @@ int menu_setting_handler(rarch_setting_t *setting, unsigned action) static int menu_action_handle_setting(rarch_setting_t *setting, unsigned type, unsigned action, bool wraparound) { - driver_t *driver = driver_get_ptr(); + driver_t *driver = driver_get_ptr(); + menu_handle_t *menu = menu_driver_get_ptr(); + if (!setting) return -1; @@ -108,11 +110,11 @@ static int menu_action_handle_setting(rarch_setting_t *setting, case ST_PATH: if (action == MENU_ACTION_OK) menu_list_push_stack_refresh( - driver->menu->menu_list, + menu->menu_list, setting->default_value.string, setting->name, type, - driver->menu->navigation.selection_ptr); + menu->navigation.selection_ptr); /* fall-through. */ case ST_BOOL: case ST_INT: @@ -133,11 +135,13 @@ static int menu_action_handle_setting(rarch_setting_t *setting, rarch_setting_t *menu_setting_find(const char *label) { - driver_t *driver = driver_get_ptr(); + driver_t *driver = driver_get_ptr(); + menu_handle_t *menu = menu_driver_get_ptr(); + if (!driver) return NULL; return (rarch_setting_t*)setting_find_setting( - driver->menu->list_settings, label); + menu->list_settings, label); } int menu_setting_set(unsigned type, const char *label, @@ -146,13 +150,14 @@ int menu_setting_set(unsigned type, const char *label, int ret = 0; rarch_setting_t *setting = NULL; driver_t *driver = driver_get_ptr(); + menu_handle_t *menu = menu_driver_get_ptr(); if (!driver) return 0; setting = menu_setting_find( - driver->menu->menu_list->selection_buf->list - [driver->menu->navigation.selection_ptr].label); + menu->menu_list->selection_buf->list + [menu->navigation.selection_ptr].label); if (!setting) return 0;