[2/4] wined3d: Free the float constant map arrays for all stateblocks

H. Verbeet hverbeet at gmail.com
Sat Aug 19 10:23:02 CDT 2006


Changelog:
  - Float constant map arrays should be free'd for all stateblocks,
not just the initial one.
-------------- next part --------------
 dlls/wined3d/stateblock.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
index 6242697..ea77ecd 100644
--- a/dlls/wined3d/stateblock.c
+++ b/dlls/wined3d/stateblock.c
@@ -254,14 +254,7 @@ static ULONG  WINAPI IWineD3DStateBlockI
             if (NULL != This->vertexDecl) {
                 IWineD3DVertexDeclaration_Release(This->vertexDecl);
             }
-            
-            HeapFree(GetProcessHeap(), 0, This->vertexShaderConstantF);
-            HeapFree(GetProcessHeap(), 0, This->set.vertexShaderConstantsF);
-            HeapFree(GetProcessHeap(), 0, This->changed.vertexShaderConstantsF);
-            HeapFree(GetProcessHeap(), 0, This->pixelShaderConstantF);
-            HeapFree(GetProcessHeap(), 0, This->set.pixelShaderConstantsF);
-            HeapFree(GetProcessHeap(), 0, This->changed.pixelShaderConstantsF);
- 
+
             /* NOTE: according to MSDN: The application is responsible for making sure the texture references are cleared down */
             for (counter = 0; counter < GL_LIMITS(sampler_stages); counter++) {
                 if (This->textures[counter]) {
@@ -273,6 +266,14 @@ static ULONG  WINAPI IWineD3DStateBlockI
             }
 
         }
+
+        HeapFree(GetProcessHeap(), 0, This->vertexShaderConstantF);
+        HeapFree(GetProcessHeap(), 0, This->set.vertexShaderConstantsF);
+        HeapFree(GetProcessHeap(), 0, This->changed.vertexShaderConstantsF);
+        HeapFree(GetProcessHeap(), 0, This->pixelShaderConstantF);
+        HeapFree(GetProcessHeap(), 0, This->set.pixelShaderConstantsF);
+        HeapFree(GetProcessHeap(), 0, This->changed.pixelShaderConstantsF);
+
         HeapFree(GetProcessHeap(), 0, This);
     }
     return refCount;


More information about the wine-patches mailing list