static void device_shutdown(struct device *dev) { glDetachShader(dev->prog, dev->vert_shdr); glDetachShader(dev->prog, dev->frag_shdr); glDeleteShader(dev->vert_shdr); glDeleteShader(dev->frag_shdr); glDeleteProgram(dev->prog); glDeleteTextures(1, &dev->font_tex); glDeleteBuffers(1, &dev->vbo); glDeleteBuffers(1, &dev->ebo); nk_buffer_free(&dev->cmds); }
static void nk_menu_free(void *data) { nk_menu_handle_t *nk = (nk_menu_handle_t*)data; if (!nk) return; free(font); nk_free(&nk->ctx); nk_buffer_free(&device.cmds); nk_common_device_shutdown(&device); video_coord_array_free(&nk->list_block.carr); font_driver_bind_block(NULL, NULL); }