From 6b150ba38d27c64c0ac8f5cf398938c55cf9e596 Mon Sep 17 00:00:00 2001 From: radius Date: Fri, 16 Mar 2018 09:32:22 -0500 Subject: [PATCH] fix shader parameter increase decrease --- menu/cbs/menu_cbs_left.c | 19 ++++++++++++------- menu/cbs/menu_cbs_right.c | 20 +++++++++++++------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/menu/cbs/menu_cbs_left.c b/menu/cbs/menu_cbs_left.c index 12b971a899..fd9ae4d318 100644 --- a/menu/cbs/menu_cbs_left.c +++ b/menu/cbs/menu_cbs_left.c @@ -62,20 +62,25 @@ static int shader_action_parameter_left(unsigned type, const char *label, bool w { video_shader_ctx_t shader_info; struct video_shader *shader = menu_shader_get(); - struct video_shader_parameter *param = NULL; + struct video_shader_parameter *param_menu = NULL; + struct video_shader_parameter *param_prev = NULL; + + int ret = 0; video_shader_driver_get_current_shader(&shader_info); - param = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0]; - if (!param) + param_prev = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0]; + if (!param_prev) return menu_cbs_exit(); - generic_shader_action_parameter_left(param, type, label, wraparound); + ret = generic_shader_action_parameter_left(param_prev, type, label, wraparound); - param = shader ? &shader->parameters[type - + param_menu = shader ? &shader->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0] : NULL; - if (!param) + if (!param_menu) return menu_cbs_exit(); - return generic_shader_action_parameter_left(param, type, label, wraparound); + param_menu->current = param_prev->current; + + return ret; } static int action_left_cheat(unsigned type, const char *label, diff --git a/menu/cbs/menu_cbs_right.c b/menu/cbs/menu_cbs_right.c index c9aa527059..1b8bd334b7 100644 --- a/menu/cbs/menu_cbs_right.c +++ b/menu/cbs/menu_cbs_right.c @@ -64,20 +64,26 @@ static int generic_shader_action_parameter_right(struct video_shader_parameter * int shader_action_parameter_right(unsigned type, const char *label, bool wraparound) { video_shader_ctx_t shader_info; - struct video_shader_parameter *param = NULL; + struct video_shader_parameter *param_prev = NULL; + struct video_shader_parameter *param_menu = NULL; + + int ret = 0; video_shader_driver_get_current_shader(&shader_info); - param = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0]; + param_prev = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0]; - if (!param) + if (!param_prev) return menu_cbs_exit(); - generic_shader_action_parameter_right(param, type, label, wraparound); - param = &shader_info.data->parameters[type - + ret = generic_shader_action_parameter_right(param_prev, type, label, wraparound); + + param_menu = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0]; - if (!param) + if (!param_menu) return menu_cbs_exit(); - return generic_shader_action_parameter_right(param, type, label, wraparound); + param_menu->current = param_prev->current; + + return ret; } int generic_action_cheat_toggle(size_t idx, unsigned type, const char *label,