diff --git a/menu/cbs/menu_cbs_info.c b/menu/cbs/menu_cbs_info.c index dac71ff404..4a01ff27be 100644 --- a/menu/cbs/menu_cbs_info.c +++ b/menu/cbs/menu_cbs_info.c @@ -78,9 +78,11 @@ int generic_action_ok_help(const char *path, static int action_info_cheevos(unsigned type, const char *label) { - unsigned new_id = type - MENU_SETTINGS_CHEEVOS_START; + struct menu_state *menu_st = menu_state_get_ptr(); + menu_dialog_t *p_dialog = &menu_st->dialog_st; + unsigned new_id = type - MENU_SETTINGS_CHEEVOS_START; - menu_dialog_set_current_id(new_id); + p_dialog->current_id = new_id; return generic_action_ok_help(NULL, label, new_id, 0, 0, MENU_ENUM_LABEL_CHEEVOS_DESCRIPTION, diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 92e74ba9cf..c27f09444c 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -619,6 +619,7 @@ int generic_action_ok_displaylist_push(const char *path, const char *info_label = NULL; const char *info_path = NULL; struct menu_state *menu_st = menu_state_get_ptr(); + menu_dialog_t *p_dialog = &menu_st->dialog_st; menu_handle_t *menu = menu_st->driver_data; menu_list_t *menu_list = menu_st->entries.list; settings_t *settings = config_get_ptr(); @@ -946,7 +947,8 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_HELP: info_label = label; dl_type = DISPLAYLIST_HELP; - menu_dialog_push_pending((enum menu_dialog_type)type); + p_dialog->current_type = (enum menu_dialog_type)type; + p_dialog->pending_push = true; break; case ACTION_OK_DL_RPL_ENTRY: strlcpy(menu->deferred_path, label, sizeof(menu->deferred_path)); @@ -3064,7 +3066,8 @@ static int action_ok_bluetooth(const char *path, const char *label, #ifdef HAVE_WIFI static void menu_input_wifi_cb(void *userdata, const char *passphrase) { - unsigned idx = menu_input_dialog_get_kb_idx(); + struct menu_state *menu_st = menu_state_get_ptr(); + unsigned idx = menu_st->input_dialog_kb_idx; wifi_network_scan_t *scan = driver_wifi_get_ssids(); wifi_network_info_t *netinfo = &scan->net_list[idx]; @@ -3116,14 +3119,13 @@ static void menu_input_st_string_cb_rename_entry(void *userdata, if (!string_is_empty(label)) { struct playlist_entry entry = {0}; + struct menu_state *menu_st = menu_state_get_ptr(); + unsigned idx = menu_st->input_dialog_kb_idx; /* the update function reads our entry as const, * so these casts are safe */ - entry.label = (char*)label; - - command_playlist_update_write(NULL, - menu_input_dialog_get_kb_idx(), - &entry); + entry.label = (char*)label; + command_playlist_update_write(NULL, idx, &entry); } } @@ -3209,7 +3211,8 @@ static void menu_input_st_string_cb_save_preset(void *userdata, { rarch_setting_t *setting = NULL; bool ret = false; - const char *label = menu_input_dialog_get_label_buffer(); + struct menu_state *menu_st = menu_state_get_ptr(); + const char *label = menu_st->input_dialog_kb_label; settings_t *settings = config_get_ptr(); const char *dir_video_shader = settings->paths.directory_video_shader; const char *dir_menu_config = settings->paths.directory_menu_config; @@ -3475,7 +3478,8 @@ static void menu_input_st_string_cb_cheat_file_save_as( if (str && *str) { rarch_setting_t *setting = NULL; - const char *label = menu_input_dialog_get_label_buffer(); + struct menu_state *menu_st = menu_state_get_ptr(); + const char *label = menu_st->input_dialog_kb_label; settings_t *settings = config_get_ptr(); const char *path_cheat_database = settings->paths.path_cheat_database; diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index b50cb6d68e..2c260a64d1 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -3225,12 +3225,13 @@ static size_t materialui_auto_select_onscreen_entry( /* Kills any existing scroll animation and * resets scroll acceleration */ static INLINE void materialui_kill_scroll_animation( - materialui_handle_t *mui) + materialui_handle_t *mui, struct menu_state *menu_st) { - uintptr_t scroll_tag = (uintptr_t)&mui->scroll_y; + uintptr_t scroll_tag = (uintptr_t)&mui->scroll_y; + menu_input_t *menu_input = &menu_st->input_state; gfx_animation_kill_by_tag(&scroll_tag); - menu_input_set_pointer_y_accel(0.0f); + menu_input->pointer.y_accel = 0.0f; mui->flags &= ~MUI_FLAG_SCROLL_ANIMATION_ACTIVE; mui->scroll_animation_selection = 0; @@ -3673,7 +3674,7 @@ static void materialui_render(void *data, /* Kill any existing scroll animation * and reset scroll acceleration */ - materialui_kill_scroll_animation(mui); + materialui_kill_scroll_animation(mui, menu_st); /* Get new scroll position */ mui->scroll_y = materialui_get_scroll(mui, p_disp); @@ -6449,7 +6450,8 @@ static void materialui_hide_fullscreen_thumbnails( /* Enables (and triggers a fade in of) the fullscreen * thumbnail view */ static void materialui_show_fullscreen_thumbnails( - materialui_handle_t *mui, size_t selection) + materialui_handle_t *mui, struct menu_state *menu_st, + size_t selection) { menu_entry_t selected_entry; gfx_animation_ctx_entry_t animation_entry; @@ -6494,7 +6496,7 @@ static void materialui_show_fullscreen_thumbnails( * thumbnails are shown * > Kill any existing scroll animation * and reset scroll acceleration */ - materialui_kill_scroll_animation(mui); + materialui_kill_scroll_animation(mui, menu_st); /* Cache selected entry label * (used as menu title when fullscreen thumbnails @@ -7178,8 +7180,9 @@ static void materialui_frame(void *data, video_frame_info_t *video_info) { size_t _len; char msg[255]; - const char *str = menu_input_dialog_get_buffer(); - const char *label = menu_input_dialog_get_label_buffer(); + struct menu_state *menu_st = menu_state_get_ptr(); + const char *str = menu_input_dialog_get_buffer(); + const char *label = menu_st->input_dialog_kb_label; /* Darken screen */ gfx_display_set_alpha( @@ -8366,6 +8369,7 @@ static void materialui_animate_scroll( { gfx_animation_ctx_entry_t animation_entry; struct menu_state *menu_st = menu_state_get_ptr(); + menu_input_t *menu_input = &menu_st->input_state; uintptr_t animation_tag = (uintptr_t)&mui->scroll_y; /* Kill any existing scroll animation */ @@ -8374,7 +8378,7 @@ static void materialui_animate_scroll( /* mui->scroll_y will be modified by the animation * > Set scroll acceleration to zero to minimise * potential conflicts */ - menu_input_set_pointer_y_accel(0.0f); + menu_input->pointer.y_accel = 0.0f; /* Set 'animation active' flag */ mui->flags |= MUI_FLAG_SCROLL_ANIMATION_ACTIVE; @@ -9303,7 +9307,7 @@ static enum menu_action materialui_parse_menu_entry_action( if (mui->flags & MUI_FLAG_IS_PLAYLIST) { - materialui_show_fullscreen_thumbnails(mui, selection); + materialui_show_fullscreen_thumbnails(mui, menu_st, selection); new_action = MENU_ACTION_NOOP; } else if (!materialui_entry_onscreen(mui, selection)) @@ -9753,7 +9757,8 @@ static int materialui_pointer_down(void *userdata, unsigned ptr, menu_file_list_cbs_t *cbs, menu_entry_t *entry, unsigned action) { - materialui_handle_t *mui = (materialui_handle_t*)userdata; + materialui_handle_t *mui = (materialui_handle_t*)userdata; + struct menu_state *menu_st = menu_state_get_ptr(); if (!mui) return -1; @@ -9838,7 +9843,7 @@ static int materialui_pointer_down(void *userdata, /* > Kill any existing scroll animation * and reset scroll acceleration */ - materialui_kill_scroll_animation(mui); + materialui_kill_scroll_animation(mui, menu_st); /* > Enable dragging */ mui->scrollbar.dragged = true; @@ -10011,6 +10016,7 @@ static int materialui_pointer_up(void *userdata, gfx_display_t *p_disp = disp_get_ptr(); unsigned header_height = p_disp->header_height; struct menu_state *menu_st = menu_state_get_ptr(); + menu_input_t *menu_input = &menu_st->input_state; size_t selection = menu_st->selection_ptr; menu_list_t *menu_list = menu_st->entries.list; size_t entries_end = menu_list ? MENU_LIST_GET_SELECTION(menu_list, 0)->size : 0; @@ -10025,12 +10031,12 @@ static int materialui_pointer_up(void *userdata, { /* Must reset scroll acceleration, otherwise * list will continue to 'drift' in drag direction */ - menu_input_set_pointer_y_accel(0.0f); + menu_input->pointer.y_accel = 0.0f; /* Reset thumbnail stream delay */ gfx_thumbnail_set_stream_delay(mui->thumbnail_stream_delay); - mui->scrollbar.dragged = false; + mui->scrollbar.dragged = false; return 0; } @@ -10043,7 +10049,7 @@ static int materialui_pointer_up(void *userdata, * user performed a swipe (don't want menu * list to 'drift' after hiding fullscreen * thumbnails...) */ - menu_input_set_pointer_y_accel(0.0f); + menu_input->pointer.y_accel = 0.0f; materialui_hide_fullscreen_thumbnails(mui, true); return 0; @@ -10121,7 +10127,7 @@ static int materialui_pointer_up(void *userdata, if ((mui->list_view_type == MUI_LIST_VIEW_PLAYLIST_THUMB_DESKTOP) && (x < mui->landscape_optimization.border_width + mui->thumbnail_width_max + (mui->margin * 2))) { - materialui_show_fullscreen_thumbnails(mui, selection); + materialui_show_fullscreen_thumbnails(mui, menu_st, selection); break; } @@ -10176,8 +10182,8 @@ static int materialui_pointer_up(void *userdata, * - but menu_navigation_set_selection() just sets a * variable, so there's no real point in performing * a (selection != ptr) check here */ - menu_st->selection_ptr = ptr; - menu_input_set_pointer_y_accel(0.0f); + menu_st->selection_ptr = ptr; + menu_input->pointer.y_accel = 0.0f; } } break; diff --git a/menu/drivers/ozone.c b/menu/drivers/ozone.c index 6a60c1cfeb..ef67780e64 100644 --- a/menu/drivers/ozone.c +++ b/menu/drivers/ozone.c @@ -4486,6 +4486,7 @@ static void ozone_change_tab( { struct menu_state *menu_st = menu_state_get_ptr(); menu_list_t *menu_list = menu_st->entries.list; + menu_input_t *menu_input = &menu_st->input_state; file_list_t *menu_stack = MENU_LIST_GET(menu_list, 0); file_list_t *selection_buf = MENU_LIST_GET_SELECTION(menu_list, 0); size_t stack_size = menu_stack->size; @@ -4552,6 +4553,8 @@ static void ozone_sidebar_goto( unsigned video_info_height; struct gfx_animation_ctx_entry entry; uintptr_t tag = (uintptr_t)ozone; + struct menu_state *menu_st = menu_state_get_ptr(); + menu_input_t *menu_input = &menu_st->input_state; video_driver_get_size(NULL, &video_info_height); @@ -4571,7 +4574,7 @@ static void ozone_sidebar_goto( /* ozone->animations.scroll_y_sidebar will be modified * > Set scroll acceleration to zero to minimise * potential conflicts */ - menu_input_set_pointer_y_accel(0.0f); + menu_input->pointer.y_accel = 0.0f; /* Cursor animation */ ozone->animations.cursor_alpha = 0.0f; @@ -5272,6 +5275,7 @@ static void ozone_update_scroll( float new_scroll = 0, entries_middle; float bottom_boundary, current_selection_middle_onscreen; struct menu_state *menu_st = menu_state_get_ptr(); + menu_input_t *menu_input = &menu_st->input_state; menu_list_t *menu_list = menu_st->entries.list; file_list_t *selection_buf = MENU_LIST_GET_SELECTION(menu_list, 0); uintptr_t tag = (uintptr_t)selection_buf; @@ -5307,7 +5311,7 @@ static void ozone_update_scroll( /* ozone->animations.scroll_y will be modified * > Set scroll acceleration to zero to minimise * potential conflicts */ - menu_input_set_pointer_y_accel(0.0f); + menu_input->pointer.y_accel = 0.0f; if (allow_animation) { @@ -7041,6 +7045,7 @@ static void ozone_show_fullscreen_thumbnails(ozone_handle_t *ozone) { gfx_animation_ctx_entry_t animation_entry; struct menu_state *menu_st = menu_state_get_ptr(); + menu_input_t *menu_input = &menu_st->input_state; menu_list_t *menu_list = menu_st->entries.list; file_list_t *selection_buf = MENU_LIST_GET_SELECTION(menu_list, 0); uintptr_t alpha_tag = (uintptr_t)&ozone->animations.fullscreen_thumbnail_alpha; @@ -7093,7 +7098,7 @@ static void ozone_show_fullscreen_thumbnails(ozone_handle_t *ozone) * > Kill any existing scroll animations and * reset scroll acceleration */ gfx_animation_kill_by_tag(&scroll_tag); - menu_input_set_pointer_y_accel(0.0f); + menu_input->pointer.y_accel = 0.0f; /* Cache selected entry label * (used as title when fullscreen thumbnails @@ -9759,6 +9764,7 @@ static void ozone_render(void *data, volatile float scale_factor; volatile float thumbnail_scale_factor; struct menu_state *menu_st = menu_state_get_ptr(); + menu_input_t *menu_input = &menu_st->input_state; menu_list_t *menu_list = menu_st->entries.list; unsigned entries_end = (unsigned)MENU_LIST_GET_SELECTION(menu_list, 0)->size; bool pointer_enabled = false; @@ -9940,8 +9946,8 @@ static void ozone_render(void *data, if ( ( pointer_in_sidebar) != (last_pointer_in_sidebar)) { - menu_input_set_pointer_y_accel(0.0f); - ozone->pointer.y_accel = 0.0f; + menu_input->pointer.y_accel = 0.0f; + ozone->pointer.y_accel = 0.0f; } /* If pointer is a mouse, then automatically follow @@ -11681,8 +11687,9 @@ static void ozone_frame(void *data, video_frame_info_t *video_info) if (draw_osk) { - const char *label = menu_input_dialog_get_label_buffer(); - const char *str = menu_input_dialog_get_buffer(); + struct menu_state *menu_st = menu_state_get_ptr(); + const char *label = menu_st->input_dialog_kb_label; + const char *str = menu_input_dialog_get_buffer(); ozone_draw_osk(ozone, userdata, @@ -12346,6 +12353,7 @@ static int ozone_pointer_up(void *userdata, unsigned width, height; ozone_handle_t *ozone = (ozone_handle_t*)userdata; struct menu_state *menu_st = menu_state_get_ptr(); + menu_input_t *menu_input = &menu_st->input_state; menu_list_t *menu_list = menu_st->entries.list; file_list_t *selection_buf = MENU_LIST_GET_SELECTION(menu_list, 0); uintptr_t sidebar_tag = (uintptr_t)selection_buf; @@ -12366,7 +12374,7 @@ static int ozone_pointer_up(void *userdata, * user performed a swipe (don't want menu * list to 'drift' after hiding fullscreen * thumbnails...) */ - menu_input_set_pointer_y_accel(0.0f); + menu_input->pointer.y_accel = 0.0f; ozone_hide_fullscreen_thumbnails(ozone, true); return 0; @@ -12419,7 +12427,7 @@ static int ozone_pointer_up(void *userdata, /* A 'short' press is used only to activate (highlight) * an item - it does not invoke a MENU_ACTION_SELECT * action */ - menu_input_set_pointer_y_accel(0.0f); + menu_input->pointer.y_accel = 0.0f; if (ptr != selection) menu_st->selection_ptr = ptr; diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index fd6e6e303f..df81543f3e 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -4622,12 +4622,12 @@ static void rgui_render_osk( unsigned osk_width, osk_height; unsigned osk_x, osk_y; - input_driver_state_t - *input_st = input_state_get_ptr(); - int osk_ptr = input_st->osk_ptr; - char **osk_grid = input_st->osk_grid; - const char *input_str = menu_input_dialog_get_buffer(); - const char *input_label = menu_input_dialog_get_label_buffer(); + input_driver_state_t *input_st = input_state_get_ptr(); + int osk_ptr = input_st->osk_ptr; + char **osk_grid = input_st->osk_grid; + const char *input_str = menu_input_dialog_get_buffer(); + struct menu_state *menu_st = menu_state_get_ptr(); + const char *input_label = menu_st->input_dialog_kb_label; /* Sanity check 1 */ if (osk_ptr < 0 || osk_ptr >= 44 || !osk_grid[0]) diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 28caac8ac9..088c9c57a5 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -6358,13 +6358,13 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) if (input_dialog_display_kb) { - const char *str = menu_input_dialog_get_buffer(); - const char *label = menu_input_dialog_get_label_buffer(); - size_t _len = strlcpy(msg, label, sizeof(msg)); - msg[_len ] = '\n'; - msg[_len+1] = '\0'; + const char *str = menu_input_dialog_get_buffer(); + const char *label = menu_st->input_dialog_kb_label; + size_t _len = strlcpy(msg, label, sizeof(msg)); + msg[_len ] = '\n'; + msg[_len+1] = '\0'; strlcat(msg, str, sizeof(msg)); - render_background = true; + render_background = true; } if (!string_is_empty(xmb->box_message)) diff --git a/menu/menu_dialog.h b/menu/menu_dialog.h index 4a2dd5d4d9..f03c6315cd 100644 --- a/menu/menu_dialog.h +++ b/menu/menu_dialog.h @@ -56,14 +56,4 @@ struct menu_dialog typedef struct menu_dialog menu_dialog_t; -RETRO_BEGIN_DECLS - -void menu_dialog_push_pending(enum menu_dialog_type type); - -void menu_dialog_unset_pending_push(void); - -void menu_dialog_set_current_id(unsigned id); - -RETRO_END_DECLS - #endif diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 61ffc65793..c9ef878b38 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -11134,19 +11134,20 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_info_t *info, settings_t *settings) { - struct menu_state *menu_st = menu_state_get_ptr(); - static bool core_selected = false; - bool push_list = (menu_st->driver_ctx->list_push + struct menu_state *menu_st = menu_state_get_ptr(); + menu_dialog_t *p_dialog = &menu_st->dialog_st; + static bool core_selected = false; + bool push_list = (menu_st->driver_ctx->list_push && menu_st->driver_ctx->list_push(menu_st->driver_data, menu_st->userdata, info, type) == 0); if (!push_list) { - menu_handle_t *menu = menu_st->driver_data; - bool load_content = true; - bool use_filebrowser = false; - unsigned count = 0; - int ret = 0; + menu_handle_t *menu = menu_st->driver_data; + bool load_content = true; + bool use_filebrowser = false; + unsigned count = 0; + int ret = 0; switch (type) { case DISPLAYLIST_NETWORK_HOSTING_SETTINGS_LIST: @@ -14053,7 +14054,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0, NULL)) count++; - menu_dialog_unset_pending_push(); + p_dialog->pending_push = false; break; case DISPLAYLIST_INFO: if (menu_entries_append(info->list, info->path, diff --git a/menu/menu_driver.c b/menu/menu_driver.c index b80926cf0d..c14f6194e8 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -4603,13 +4603,11 @@ void menu_input_get_pointer_state(menu_input_pointer_t *copy_target) struct menu_state *menu_st = &menu_driver_state; menu_input_t *menu_input = &menu_st->input_state; - if (!copy_target) - return; - /* Copy parameters from global menu_input_state * (i.e. don't pass by reference) * This is a fast operation */ - memcpy(copy_target, &menu_input->pointer, sizeof(menu_input_pointer_t)); + if (copy_target) + memcpy(copy_target, &menu_input->pointer, sizeof(menu_input_pointer_t)); } unsigned menu_input_get_pointer_selection(void) @@ -4627,14 +4625,6 @@ void menu_input_set_pointer_selection(unsigned selection) menu_input->ptr = selection; } -void menu_input_set_pointer_y_accel(float y_accel) -{ - struct menu_state *menu_st = &menu_driver_state; - menu_input_t *menu_input = &menu_st->input_state; - - menu_input->pointer.y_accel = y_accel; -} - const char *menu_input_dialog_get_buffer(void) { struct menu_state *menu_st = &menu_driver_state; @@ -4667,24 +4657,6 @@ static void menu_input_key_event(bool down, unsigned keycode, ((menu_st->kb_key_state[key] & 1) << 1) | down; } -const char *menu_input_dialog_get_label_setting_buffer(void) -{ - struct menu_state *menu_st = &menu_driver_state; - return menu_st->input_dialog_kb_label_setting; -} - -const char *menu_input_dialog_get_label_buffer(void) -{ - struct menu_state *menu_st = &menu_driver_state; - return menu_st->input_dialog_kb_label; -} - -unsigned menu_input_dialog_get_kb_idx(void) -{ - struct menu_state *menu_st = &menu_driver_state; - return menu_st->input_dialog_kb_idx; -} - void menu_input_dialog_end(void) { struct menu_state *menu_st = &menu_driver_state; @@ -4701,30 +4673,6 @@ void menu_input_dialog_end(void) menu_st->input_driver_flushing_input = 2; } -void menu_dialog_unset_pending_push(void) -{ - struct menu_state *menu_st = &menu_driver_state; - menu_dialog_t *p_dialog = &menu_st->dialog_st; - - p_dialog->pending_push = false; -} - -void menu_dialog_push_pending(enum menu_dialog_type type) -{ - struct menu_state *menu_st = &menu_driver_state; - menu_dialog_t *p_dialog = &menu_st->dialog_st; - p_dialog->current_type = type; - p_dialog->pending_push = true; -} - -void menu_dialog_set_current_id(unsigned id) -{ - struct menu_state *menu_st = &menu_driver_state; - menu_dialog_t *p_dialog = &menu_st->dialog_st; - - p_dialog->current_id = id; -} - #if defined(_MSC_VER) static const char * msvc_vercode_to_str(const unsigned vercode) { diff --git a/menu/menu_input.h b/menu/menu_input.h index 1a22135a17..9995213252 100644 --- a/menu/menu_input.h +++ b/menu/menu_input.h @@ -198,6 +198,10 @@ typedef struct menu_input_pointer_hw_state typedef struct menu_input_pointer { retro_time_t press_duration; /* int64_t alignment */ + /** + * NOTE: menu drivers typically set y_accel to zero + * manually when populating entries. + **/ float y_accel; enum menu_pointer_type type; enum menu_input_pointer_press_direction press_direction; @@ -253,15 +257,6 @@ unsigned menu_input_get_pointer_selection(void); **/ void menu_input_set_pointer_selection(unsigned selection); -/** - * Allows the pointer's y acceleration to be overridden. For example, menu - * drivers typically set acceleration to zero when populating entries. - * - * @param y_accel - * The Y acceleration value that we want to apply - **/ -void menu_input_set_pointer_y_accel(float y_accel); - typedef struct menu_input_ctx_line { const char *label; @@ -273,14 +268,8 @@ typedef struct menu_input_ctx_line bool menu_input_dialog_start(menu_input_ctx_line_t *line); -const char *menu_input_dialog_get_label_setting_buffer(void); - -const char *menu_input_dialog_get_label_buffer(void); - const char *menu_input_dialog_get_buffer(void); -unsigned menu_input_dialog_get_kb_idx(void); - bool menu_input_dialog_start_search(void); bool menu_input_dialog_get_display_kb(void); diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 60af5b4496..bfbc5f3678 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -375,9 +375,9 @@ static void menu_input_st_uint_cb(void *userdata, const char *str) if ((ret == 1) && !str[chars_read]) { - const char *label = - menu_input_dialog_get_label_setting_buffer(); - rarch_setting_t *setting = menu_setting_find(label); + struct menu_state *menu_st = menu_state_get_ptr(); + const char *label = menu_st->input_dialog_kb_label_setting; + rarch_setting_t *setting = menu_setting_find(label); setting_set_with_string_representation(setting, str); } } @@ -397,10 +397,9 @@ static void menu_input_st_int_cb(void *userdata, const char *str) if ((ret == 1) && !str[chars_read]) { - const char *label = - menu_input_dialog_get_label_setting_buffer(); - rarch_setting_t - *setting = menu_setting_find(label); + struct menu_state *menu_st = menu_state_get_ptr(); + const char *label = menu_st->input_dialog_kb_label_setting; + rarch_setting_t *setting = menu_setting_find(label); setting_set_with_string_representation(setting, str); } } @@ -420,9 +419,9 @@ static void menu_input_st_float_cb(void *userdata, const char *str) if ((ret == 1) && !str[chars_read]) { - const char *label = - menu_input_dialog_get_label_setting_buffer(); - rarch_setting_t *setting = menu_setting_find(label); + struct menu_state *menu_st = menu_state_get_ptr(); + const char *label = menu_st->input_dialog_kb_label_setting; + rarch_setting_t *setting = menu_setting_find(label); setting_set_with_string_representation(setting, str); } } @@ -434,7 +433,8 @@ static void menu_input_st_string_cb(void *userdata, const char *str) { if (str && *str) { - const char *label = menu_input_dialog_get_label_setting_buffer(); + struct menu_state *menu_st = menu_state_get_ptr(); + const char *label = menu_st->input_dialog_kb_label_setting; if (!string_is_empty(label)) { @@ -2600,8 +2600,9 @@ static void setting_action_ok_color_rgb_cb(void *userdata, const char *line) { if (!string_is_empty(line)) { - rarch_setting_t *setting = - menu_setting_find(menu_input_dialog_get_label_setting_buffer()); + struct menu_state *menu_st = menu_state_get_ptr(); + const char *label = menu_st->input_dialog_kb_label_setting; + rarch_setting_t *setting = menu_setting_find(label); if (setting) {