소스 검색

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

omar 8 년 전
부모
커밋
51c200ac0d
1개의 변경된 파일6개의 추가작업 그리고 5개의 파일을 삭제
  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 = 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;
+    ImGuiIO& io = ImGui::GetIO();
+    io.Fonts->TexID = NULL;
 }
 
 void ImGui_ImplDX9_NewFrame()