From 202b1e2006a3ca03ef5dbe161ac4a4692af77ab3 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 12 Oct 2014 23:31:04 +0200 Subject: [PATCH] start reducing calls to menu_clear_navigation --- frontend/menu/menu_entries.c | 2 ++ frontend/menu/menu_entries_cbs.c | 2 -- frontend/menu/menu_shader.c | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/menu/menu_entries.c b/frontend/menu/menu_entries.c index f74f6329ca..d14013b1c9 100644 --- a/frontend/menu/menu_entries.c +++ b/frontend/menu/menu_entries.c @@ -403,6 +403,8 @@ int menu_entries_push_list(menu_handle_t *menu, bool do_action = false; bool is_history_list = !strcmp(label, "history_list"); + menu_clear_navigation(driver.menu); + #if 0 RARCH_LOG("Label is: %s\n", label); RARCH_LOG("Path is: %s\n", path); diff --git a/frontend/menu/menu_entries_cbs.c b/frontend/menu/menu_entries_cbs.c index dcf28d2861..3ebfd989c7 100644 --- a/frontend/menu/menu_entries_cbs.c +++ b/frontend/menu/menu_entries_cbs.c @@ -62,7 +62,6 @@ static int action_ok_push_history_list(const char *path, menu_entries_push(driver.menu->menu_stack, "", label, type, driver.menu->selection_ptr); - menu_clear_navigation(driver.menu); menu_entries_push_list(driver.menu, driver.menu->selection_buf, path, label, type); return 0; @@ -341,7 +340,6 @@ static int action_ok_file_load_with_detect_core(const char *path, "deferred_core_list", 0, driver.menu->selection_ptr); - menu_clear_navigation(driver.menu); menu_entries_push_list( driver.menu, driver.menu->selection_buf, diff --git a/frontend/menu/menu_shader.c b/frontend/menu/menu_shader.c index d8abdcac89..2e6d3a7619 100644 --- a/frontend/menu/menu_shader.c +++ b/frontend/menu/menu_shader.c @@ -440,12 +440,13 @@ int menu_shader_manager_setting_toggle( } else if (!strcmp(label, "video_shader_pass")) { - hack_shader_pass = type - MENU_SETTINGS_SHADER_PASS_0; + unsigned offset = type - MENU_SETTINGS_SHADER_PASS_0; + hack_shader_pass = offset; struct gfx_shader *shader = (struct gfx_shader*)driver.menu->shader; struct gfx_shader_pass *shader_pass = NULL; if (shader) - shader_pass = (struct gfx_shader_pass*)&shader->pass[hack_shader_pass]; + shader_pass = (struct gfx_shader_pass*)&shader->pass[offset]; switch (action) {