Browse Source

sokol_imgui.h: assert against texture leakage when calling simgui_create_fonts_texture()

Andre Weissflog 1 year ago
parent
commit
dd00e4d3a5
1 changed files with 6 additions and 0 deletions
  1. 6 0
      util/sokol_imgui.h

+ 6 - 0
util/sokol_imgui.h

@@ -2381,6 +2381,9 @@ SOKOL_API_IMPL void simgui_setup(const simgui_desc_t* desc) {
 
 SOKOL_API_IMPL void simgui_create_fonts_texture(const simgui_font_tex_desc_t* desc) {
     SOKOL_ASSERT(desc);
+    SOKOL_ASSERT(SG_INVALID_ID == _simgui.font_smp.id);
+    SOKOL_ASSERT(SG_INVALID_ID == _simgui.font_img.id);
+    SOKOL_ASSERT(SIMGUI_INVALID_ID == _simgui.default_font.id);
 
     #if defined(__cplusplus)
         ImGuiIO* io = &ImGui::GetIO();
@@ -2430,6 +2433,9 @@ SOKOL_API_IMPL void simgui_destroy_fonts_texture(void) {
     sg_destroy_sampler(_simgui.font_smp);
     sg_destroy_image(_simgui.font_img);
     simgui_destroy_image(_simgui.default_font);
+    _simgui.font_smp.id = SG_INVALID_ID;
+    _simgui.font_img.id = SG_INVALID_ID;
+    _simgui.default_font.id = SIMGUI_INVALID_ID;
 }
 
 SOKOL_API_IMPL void simgui_shutdown(void) {