Ver Fonte

Examples: DirectX9: Clarified texture release code (#1163)

omar há 8 anos atrás
pai
commit
51c200ac0d
1 ficheiros alterados com 6 adições e 5 exclusões
  1. 6 5
      examples/directx9_example/imgui_impl_dx9.cpp

+ 6 - 5
examples/directx9_example/imgui_impl_dx9.cpp

@@ -311,12 +311,13 @@ void ImGui_ImplDX9_InvalidateDeviceObjects()
         g_pIB->Release();
         g_pIB->Release();
         g_pIB = NULL;
         g_pIB = NULL;
     }
     }
-    if (LPDIRECT3DTEXTURE9 tex = (LPDIRECT3DTEXTURE9)ImGui::GetIO().Fonts->TexID)
-    {
-        tex->Release();
-        ImGui::GetIO().Fonts->TexID = 0;
-    }
+
+    // At this point note that we set ImGui::GetIO().Fonts->TexID to be == g_FontTexture, so clear both.
+    if (g_FontTexture)
+        g_FontTexture->Release();
     g_FontTexture = NULL;
     g_FontTexture = NULL;
+    ImGuiIO& io = ImGui::GetIO();
+    io.Fonts->TexID = NULL;
 }
 }
 
 
 void ImGui_ImplDX9_NewFrame()
 void ImGui_ImplDX9_NewFrame()