static void zarch_free(void *data) { zui_t *zui = (zui_t*)data; if (zui) { gfx_coord_array_free(&zui->ca); gfx_coord_array_free(&zui->tmp_block.carr); } font_driver_bind_block(NULL, NULL); }
static void mui_free(void *data) { mui_handle_t *mui = (mui_handle_t*)data; if (!mui) return; gfx_coord_array_free(&mui->list_block.carr); font_driver_bind_block(NULL, NULL); }
static void zarch_free(void *data) { menu_handle_t *menu = (menu_handle_t*)data; driver_t *driver = driver_get_ptr(); zui_t *zui = (zui_t*)menu->userdata; const struct font_renderer *font_driver = (const struct font_renderer*)driver->font_osd_driver; if (!zui || !menu) return; gfx_coord_array_free(&zui->ca); gfx_coord_array_free(&zui->tmp_block.carr); if (menu->userdata) free(menu->userdata); menu->userdata = NULL; if (font_driver->bind_block) font_driver->bind_block(driver->font_osd_data, NULL); }
static void zrmenu_free(void *data) { zrmenu_handle_t *zr = (zrmenu_handle_t*)data; if (!zr) return; free(font.glyphs); zr_free(&zr->ctx); zr_buffer_free(&device.cmds); zr_common_device_shutdown(&device); gfx_coord_array_free(&zr->list_block.carr); font_driver_bind_block(NULL, NULL); }
static void glui_free(void *data) { gl_t *gl = NULL; const struct font_renderer *font_driver = NULL; menu_handle_t *menu = (menu_handle_t*)data; driver_t *driver = driver_get_ptr(); glui_handle_t *glui = (glui_handle_t*)menu->userdata; if (!glui || !menu) return; gfx_coord_array_free(&glui->list_block.carr); gl = (gl_t*)video_driver_get_ptr(NULL); font_driver = gl ? (const struct font_renderer*)driver->font_osd_driver : NULL; if (font_driver && font_driver->bind_block) font_driver->bind_block(driver->font_osd_data, NULL); if (menu->userdata) free(menu->userdata); menu->userdata = NULL; }