Kaynağa Gözat

resolve texture leak on new font loading

ello 1 yıl önce
ebeveyn
işleme
6f4cb6be25
1 değiştirilmiş dosya ile 8 ekleme ve 0 silme
  1. 8 0
      util/sokol_imgui.h

+ 8 - 0
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);