diff --git a/input/input_driver.c b/input/input_driver.c index 7bbfe67cdc..8d2fa36f39 100644 --- a/input/input_driver.c +++ b/input/input_driver.c @@ -681,7 +681,9 @@ uint64_t input_menu_keys_pressed( joypad_info.joy_idx = 0; joypad_info.auto_binds = settings->input.autoconf_binds[0]; - if (settings->input.binds[0][RARCH_ENABLE_HOTKEY].valid && current_input->input_state(current_input_data, joypad_info, &binds[0], 0, RETRO_DEVICE_JOYPAD, 0, RARCH_ENABLE_HOTKEY)) + if (settings->input.binds[0][RARCH_ENABLE_HOTKEY].valid + && current_input->input_state(current_input_data, joypad_info, + &binds[0], 0, RETRO_DEVICE_JOYPAD, 0, RARCH_ENABLE_HOTKEY)) input_driver_block_libretro_input = true; else input_driver_block_hotkey = true; diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 69e2fbe02d..6dd6a2812c 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -209,7 +209,7 @@ static bool menu_init(menu_handle_t *menu_data) #endif } - menu_driver_ctl(RARCH_MENU_CTL_SHADER_MANAGER_INIT, NULL); + menu_shader_manager_init(); if (!menu_display_init()) return false; @@ -771,9 +771,6 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data) return false; menu_driver_ctx->context_destroy(menu_userdata); break; - case RARCH_MENU_CTL_SHADER_MANAGER_INIT: - menu_shader_manager_init(); - break; case RARCH_MENU_CTL_LIST_SET_SELECTION: { file_list_t *list = (file_list_t*)data; diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 9d47d1b39c..e097fd6a06 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -125,7 +125,6 @@ enum rarch_menu_ctl_state RARCH_MENU_CTL_TOGGLE, RARCH_MENU_CTL_CONTEXT_RESET, RARCH_MENU_CTL_CONTEXT_DESTROY, - RARCH_MENU_CTL_SHADER_MANAGER_INIT, RARCH_MENU_CTL_POPULATE_ENTRIES, RARCH_MENU_CTL_FIND_DRIVER, RARCH_MENU_CTL_LOAD_IMAGE, diff --git a/menu/menu_shader.c b/menu/menu_shader.c index 0a1556fb2b..aa299e49b6 100644 --- a/menu/menu_shader.c +++ b/menu/menu_shader.c @@ -132,6 +132,10 @@ bool menu_shader_manager_init(void) settings_t *settings = config_get_ptr(); const char *config_path = path_get(RARCH_PATH_CONFIG); + /* menu shader already initialized */ + if (menu_driver_shader) + return true; + menu_driver_shader = (struct video_shader*) calloc(1, sizeof(struct video_shader)); if (!menu_driver_shader) diff --git a/tasks/task_content.c b/tasks/task_content.c index 6a5f32faea..521f9864f6 100644 --- a/tasks/task_content.c +++ b/tasks/task_content.c @@ -62,6 +62,7 @@ #ifdef HAVE_MENU #include "../menu/menu_driver.h" +#include "../menu/menu_shader.h" #endif #ifdef HAVE_CHEEVOS @@ -279,7 +280,7 @@ static bool content_load(content_ctx_info_t *info) } #ifdef HAVE_MENU - menu_driver_ctl(RARCH_MENU_CTL_SHADER_MANAGER_INIT, NULL); + menu_shader_manager_init(); #endif command_event(CMD_EVENT_HISTORY_INIT, NULL); command_event(CMD_EVENT_RESUME, NULL);