diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index 9b3fc4fbb2..a19bad5638 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -961,12 +961,12 @@ static void *mui_init(void) if (!menu_display_driver_init_first()) goto error; - menu->userdata = (mui_handle_t*)calloc(1, sizeof(mui_handle_t)); + mui = (mui_handle_t*)calloc(1, sizeof(mui_handle_t)); - if (!menu->userdata) + if (!mui) goto error; - mui = (mui_handle_t*)menu->userdata; + menu->userdata = mui; mui_layout(mui); mui_allocate_white_texture(mui); diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 1e10943985..aa65d5b4bd 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -638,11 +638,13 @@ static void *rgui_init(void) if (!menu) return NULL; - menu->userdata = rgui = (rgui_t*)calloc(1, sizeof(rgui_t)); + rgui = (rgui_t*)calloc(1, sizeof(rgui_t)); if (!rgui) goto error; + menu->userdata = rgui; + /* 4 extra lines to cache the checked background */ fb_data = (uint16_t*)calloc(400 * (240 + 4), sizeof(uint16_t)); @@ -682,9 +684,6 @@ error: free(fb_data); fb_data = NULL; menu_display_ctl(MENU_DISPLAY_CTL_SET_FB_DATA, &fb_data); - if (menu->userdata) - free(menu->userdata); - menu->userdata = NULL; free(menu); } return NULL; diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 40836afd1d..90971050c4 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1904,12 +1904,12 @@ static void *xmb_init(void) video_driver_get_size(&width, &height); - menu->userdata = (xmb_handle_t*)calloc(1, sizeof(xmb_handle_t)); + xmb = (xmb_handle_t*)calloc(1, sizeof(xmb_handle_t)); - if (!menu->userdata) + if (!xmb) goto error; - xmb = (xmb_handle_t*)menu->userdata; + menu->userdata = xmb; xmb->menu_stack_old = (file_list_t*)calloc(1, sizeof(file_list_t)); diff --git a/menu/drivers/zarch.c b/menu/drivers/zarch.c index 66e52e8edd..49c0d47c44 100644 --- a/menu/drivers/zarch.c +++ b/menu/drivers/zarch.c @@ -1059,12 +1059,12 @@ static void *zarch_init(void) if (!menu_display_driver_init_first()) goto error; - menu->userdata = (zui_t*)calloc(1, sizeof(zui_t)); + zui = (zui_t*)calloc(1, sizeof(zui_t)); - if (!menu->userdata) + if (!zui) goto error; - zui = (zui_t*)menu->userdata; + menu->userdata = zui; if (settings->menu.mouse.enable) {