Module: wine Branch: master Commit: 2f9e8a901cebf0c6c3c74e61c385322bfa7e212d URL: http://source.winehq.org/git/wine.git/?a=commit;h=2f9e8a901cebf0c6c3c74e61c3...
Author: Alexander Dorofeyev alexd4@inbox.lv Date: Mon Apr 7 00:05:42 2008 +0300
wined3d: Don't copy the extra line.
biSizeImage has an extra line added to it, and passing it to memcpy can cause a crash.
---
dlls/wined3d/surface_base.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/surface_base.c b/dlls/wined3d/surface_base.c index 9b7f100..7f689e2 100644 --- a/dlls/wined3d/surface_base.c +++ b/dlls/wined3d/surface_base.c @@ -545,7 +545,7 @@ HRESULT IWineD3DBaseSurfaceImpl_CreateDIBSection(IWineD3DSurface *iface) { TRACE("DIBSection at : %p\n", This->dib.bitmap_data); /* copy the existing surface to the dib section */ if(This->resource.allocatedMemory) { - memcpy(This->dib.bitmap_data, This->resource.allocatedMemory, b_info->bmiHeader.biSizeImage); + memcpy(This->dib.bitmap_data, This->resource.allocatedMemory, This->currentDesc.Height * IWineD3DSurface_GetPitch(iface)); } else { /* This is to make LockRect read the gl Texture although memory is allocated */ This->Flags &= ~SFLAG_INSYSMEM;