Changelog Prevent memory leak in freeing of the VertexBuffer -- Lionel Ulmer - http://www.bbrox.org/
--- /home/ulmer/Wine/wine_base//dlls/ddraw/d3dvertexbuffer.c 2002-12-25 21:26:29.000000000 +0100 +++ /home/ulmer/Wine/wine_work//dlls/ddraw/d3dvertexbuffer.c 2002-12-26 12:46:42.000000000 +0100 @@ -78,6 +78,7 @@ ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); TRACE("(%p/%p)->() decrementing from %lu.\n", This, iface, This->ref); if (--(This->ref) == 0) { + HeapFree(GetProcessHeap(), 0, This->vertices); HeapFree(GetProcessHeap(), 0, This); return 0; } @@ -313,9 +314,9 @@ if (TRACE_ON(ddraw)) { TRACE(" creating implementation at %p with description : \n", *obj); - TRACE(" flags : - "); DDRAW_dump_flags_(lpD3DVertBufDesc->dwCaps, flags, sizeof(flags)/sizeof(flags[0]), TRUE); - TRACE(" vertex type : - "); dump_flexible_vertex(lpD3DVertBufDesc->dwFVF); - TRACE(" num vertices : - %ld\n", lpD3DVertBufDesc->dwNumVertices); + TRACE(" flags : "); DDRAW_dump_flags_(lpD3DVertBufDesc->dwCaps, flags, sizeof(flags)/sizeof(flags[0]), TRUE); + TRACE(" vertex type : "); dump_flexible_vertex(lpD3DVertBufDesc->dwFVF); + TRACE(" num vertices : %ld\n", lpD3DVertBufDesc->dwNumVertices); }