aboutsummaryrefslogtreecommitdiff
path: root/util/sokol_imgui.h
diff options
context:
space:
mode:
authorello <cripboygit@gmail.com>2024-03-19 12:37:54 -0300
committerGitHub <noreply@github.com>2024-03-19 12:37:54 -0300
commit6f4cb6be255c266cdf6ac9983e58dae19bd46a64 (patch)
tree73a34602a5cddd43bb9b83d8ccef9edb7fde939e /util/sokol_imgui.h
parent6d9fae571e1e0df3aade982400c921f81d2800ee (diff)
resolve texture leak on new font loading
Diffstat (limited to 'util/sokol_imgui.h')
-rw-r--r--util/sokol_imgui.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/util/sokol_imgui.h b/util/sokol_imgui.h
index 3c3860a7..b634e3a2 100644
--- a/util/sokol_imgui.h
+++ b/util/sokol_imgui.h
@@ -2369,6 +2369,13 @@ SOKOL_API_IMPL void simgui_setup(const simgui_desc_t* desc) {
def_image_desc.label = "sokol-imgui-default-image";
_simgui.def_img = sg_make_image(&def_image_desc);
+ // default font texture
+ if (!_simgui.desc.no_default_font) {
+ simgui_font_tex_desc_t simgui_font_smp_desc;
+ _simgui_clear(&simgui_font_smp_desc, sizeof(simgui_font_smp_desc));
+ simgui_create_fonts_texture(&simgui_font_smp_desc);
+ }
+
sg_pop_debug_group();
}
@@ -2509,6 +2516,7 @@ SOKOL_API_IMPL void simgui_new_frame(const simgui_frame_desc_t* desc) {
ImGuiIO* io = igGetIO();
#endif
if (!io->Fonts->TexReady) {
+ simgui_destroy_fonts_texture();
simgui_font_tex_desc_t simgui_font_smp_desc;
_simgui_clear(&simgui_font_smp_desc, sizeof(simgui_font_smp_desc));
simgui_create_fonts_texture(&simgui_font_smp_desc);