diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index e7d41d2d48..e4a9d6c725 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -1334,15 +1334,15 @@ static size_t mui_list_get_selection(void *data) return mui->categories.selection_ptr; } -static int mui_pointer_tap(unsigned x, unsigned y, +static int mui_pointer_tap(void *userdata, + unsigned x, unsigned y, unsigned ptr, menu_file_list_cbs_t *cbs, menu_entry_t *entry, unsigned action) { size_t selection, idx; unsigned header_height, width, height, i; bool scroll = false; - menu_handle_t *menu = menu_driver_get_ptr(); - mui_handle_t *mui = menu ? (mui_handle_t*)menu->userdata : NULL; + mui_handle_t *mui = (mui_handle_t*)userdata; file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0); file_list_t *selection_buf = menu_entries_get_selection_buf_ptr(0); diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 3a109c0024..7f723e4012 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -800,7 +800,8 @@ static int rgui_environ(menu_environ_cb_t type, void *data, void *userdata) return 0; } -static int rgui_pointer_tap(unsigned x, unsigned y, +static int rgui_pointer_tap(void *data, + unsigned x, unsigned y, unsigned ptr, menu_file_list_cbs_t *cbs, menu_entry_t *entry, unsigned action) { diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 061bc0c8c5..ea89379247 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2661,7 +2661,8 @@ static bool xmb_menu_init_list(void *data) return true; } -static int xmb_pointer_tap(unsigned x, unsigned y, unsigned ptr, +static int xmb_pointer_tap(void *userdata, + unsigned x, unsigned y, unsigned ptr, menu_file_list_cbs_t *cbs, menu_entry_t *entry, unsigned action) { diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 5c39807c7a..fff2034d2c 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -358,9 +358,10 @@ int menu_driver_pointer_tap(unsigned x, unsigned y, unsigned ptr, { int ret = 0; const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr(); + menu_handle_t *menu = menu_driver_get_ptr(); if (driver->pointer_tap) - ret = driver->pointer_tap(x, y, ptr, cbs, entry, action); + ret = driver->pointer_tap(menu->userdata, x, y, ptr, cbs, entry, action); return ret; } diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 6fa06ce92c..1499d29ead 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -284,7 +284,7 @@ typedef struct menu_ctx_driver bool (*load_image)(void *data, menu_image_type_t type); const char *ident; int (*environ_cb)(menu_environ_cb_t type, void *data, void *userdata); - int (*pointer_tap)(unsigned x, unsigned y, unsigned ptr, + int (*pointer_tap)(void *data, unsigned x, unsigned y, unsigned ptr, menu_file_list_cbs_t *cbs, menu_entry_t *entry, unsigned action); } menu_ctx_driver_t;