mirror of
https://github.com/libretro/RetroArch
synced 2025-02-12 00:40:26 +00:00
(GLUI) Restore background when doing context reset
This commit is contained in:
parent
a2806aeba0
commit
e1b1cdfeb6
@ -644,6 +644,12 @@ static void glui_free(void *data)
|
|||||||
free(menu->userdata);
|
free(menu->userdata);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void glui_context_bg_destroy(glui_handle_t *glui)
|
||||||
|
{
|
||||||
|
if (glui && glui->textures.bg.id)
|
||||||
|
glDeleteTextures(1, &glui->textures.bg.id);
|
||||||
|
}
|
||||||
|
|
||||||
static void glui_context_destroy(void)
|
static void glui_context_destroy(void)
|
||||||
{
|
{
|
||||||
glui_handle_t *glui = NULL;
|
glui_handle_t *glui = NULL;
|
||||||
@ -654,11 +660,7 @@ static void glui_context_destroy(void)
|
|||||||
|
|
||||||
glui = (glui_handle_t*)menu->userdata;
|
glui = (glui_handle_t*)menu->userdata;
|
||||||
|
|
||||||
if (!glui)
|
glui_context_bg_destroy(glui);
|
||||||
return;
|
|
||||||
|
|
||||||
if (glui->textures.bg.id)
|
|
||||||
glDeleteTextures(1, &glui->textures.bg.id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool glui_load_wallpaper(void *data)
|
static bool glui_load_wallpaper(void *data)
|
||||||
@ -673,9 +675,8 @@ static bool glui_load_wallpaper(void *data)
|
|||||||
|
|
||||||
if (!glui)
|
if (!glui)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (glui->textures.bg.id)
|
glui_context_bg_destroy(glui);
|
||||||
glDeleteTextures(1, &glui->textures.bg.id);
|
|
||||||
|
|
||||||
glui->textures.bg.id = video_texture_load(data,
|
glui->textures.bg.id = video_texture_load(data,
|
||||||
TEXTURE_BACKEND_OPENGL, TEXTURE_FILTER_MIPMAP_LINEAR);
|
TEXTURE_BACKEND_OPENGL, TEXTURE_FILTER_MIPMAP_LINEAR);
|
||||||
@ -757,6 +758,7 @@ static void glui_context_reset(void)
|
|||||||
glui_handle_t *glui = NULL;
|
glui_handle_t *glui = NULL;
|
||||||
driver_t *driver = driver_get_ptr();
|
driver_t *driver = driver_get_ptr();
|
||||||
menu_handle_t *menu = menu_driver_get_ptr();
|
menu_handle_t *menu = menu_driver_get_ptr();
|
||||||
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
if (!menu)
|
if (!menu)
|
||||||
return;
|
return;
|
||||||
@ -776,6 +778,11 @@ static void glui_context_reset(void)
|
|||||||
gl,
|
gl,
|
||||||
NULL,
|
NULL,
|
||||||
menu->font.size);
|
menu->font.size);
|
||||||
|
|
||||||
|
glui_context_bg_destroy(glui);
|
||||||
|
|
||||||
|
rarch_main_data_msg_queue_push(DATA_TYPE_IMAGE,
|
||||||
|
settings->menu.wallpaper, "cb_menu_wallpaper", 0, 1, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
menu_ctx_driver_t menu_ctx_glui = {
|
menu_ctx_driver_t menu_ctx_glui = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user