Module: wine Branch: refs/heads/master Commit: 21218c8587be416f6bf4c6d546351961f14239b7 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=21218c8587be416f6bf4c6d5...
Author: Stefan Dösinger stefan@codeweavers.com Date: Mon May 29 10:53:43 2006 +0200
wined3d: Release the memory in IWineGDISurface::PrivateSetup before calling GetDC.
---
dlls/wined3d/surface_gdi.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/surface_gdi.c b/dlls/wined3d/surface_gdi.c index 3b25ff4..b84bc25 100644 --- a/dlls/wined3d/surface_gdi.c +++ b/dlls/wined3d/surface_gdi.c @@ -1459,13 +1459,20 @@ IWineGDISurfaceImpl_PrivateSetup(IWineD3 HRESULT hr; HDC hdc;
+ /* Sysmem textures have memory already allocated - + * release it, this avoids an unnecessary memcpy + */ + HeapFree(GetProcessHeap(), 0, This->resource.allocatedMemory); + This->resource.allocatedMemory = NULL; + /* We don't mind the nonpow2 stuff in GDI */ + This->resource.size = This->currentDesc.Width * D3DFmtGetBpp(This->resource.wineD3DDevice, This->resource.format) * This->currentDesc.Width; This->pow2Size = This->resource.size; This->pow2Width = This->currentDesc.Width; This->pow2Height = This->currentDesc.Height; This->Flags &= ~SFLAG_NONPOW2;
- /* Call GetDC to create a DIB section. We will use that + /* Call GetDC to create a DIB section. We will use that * DIB section for rendering * * Release the DC afterwards to allow the app to use it