浏览代码

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

Andre Weissflog 1 年之前
父节点
当前提交
dd00e4d3a5
共有 1 个文件被更改,包括 6 次插入0 次删除
  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) {