diff --git a/frontend/menu/menu_input_line_cb.c b/frontend/menu/menu_input_line_cb.c index 7f3abbc8a8..9e4fd8a6f7 100644 --- a/frontend/menu/menu_input_line_cb.c +++ b/frontend/menu/menu_input_line_cb.c @@ -28,15 +28,25 @@ #include "../../input/keyboard_line.h" #include "menu_input_line_cb.h" -void menu_key_start_line(rgui_handle_t *rgui, const char *label, input_keyboard_line_complete_t cb) +void menu_key_start_line(void *data, const char *label, input_keyboard_line_complete_t cb) { + rgui_handle_t *rgui = (rgui_handle_t*)data; + + if (!rgui) + return; + rgui->keyboard.display = true; rgui->keyboard.label = label; rgui->keyboard.buffer = input_keyboard_start_line(rgui, cb); } -static void menu_key_end_line(rgui_handle_t *rgui) +static void menu_key_end_line(void *data) { + rgui_handle_t *rgui = (rgui_handle_t*)data; + + if (!rgui) + return; + rgui->keyboard.display = false; rgui->keyboard.label = NULL; rgui->old_input_state = -1ULL; // Avoid triggering states on pressing return. diff --git a/frontend/menu/menu_input_line_cb.h b/frontend/menu/menu_input_line_cb.h index 4a880b1caf..7ea25de303 100644 --- a/frontend/menu/menu_input_line_cb.h +++ b/frontend/menu/menu_input_line_cb.h @@ -22,7 +22,7 @@ void menu_key_event(bool down, unsigned keycode, uint32_t character, uint16_t key_modifiers); -void menu_key_start_line(rgui_handle_t *rgui, const char *label, input_keyboard_line_complete_t cb); +void menu_key_start_line(void *data, const char *label, input_keyboard_line_complete_t cb); void netplay_port_callback(void *userdata, const char *str); void netplay_ipaddress_callback(void *userdata, const char *str);