winex11.drv: The y coordinate should be offset agaist the height,
not the width
H. Verbeet
hverbeet at gmail.com
Sat Nov 11 16:08:36 CST 2006
This fixes a regression in 3DMark03, and probably a few other applications.
-------------- next part --------------
diff --git a/dlls/winex11.drv/bitblt.c b/dlls/winex11.drv/bitblt.c
index a1228d3..ef4ecb7 100644
--- a/dlls/winex11.drv/bitblt.c
+++ b/dlls/winex11.drv/bitblt.c
@@ -1612,7 +1612,7 @@ static BOOL X11DRV_ClientSideDIBCopy( X1
}
else
{
- srcPtr = &physDevSrc->bitmap->base[(srcDib.dsBm.bmWidth-ySrc-1)*srcDib.dsBm.bmWidthBytes
+ srcPtr = &physDevSrc->bitmap->base[(srcDib.dsBm.bmHeight-ySrc-1)*srcDib.dsBm.bmWidthBytes
+ xSrc*bytesPerPixel];
srcRowOffset = -srcDib.dsBm.bmWidthBytes;
}
@@ -1623,7 +1623,7 @@ static BOOL X11DRV_ClientSideDIBCopy( X1
}
else
{
- dstPtr = &physDevDst->bitmap->base[(dstDib.dsBm.bmWidth-yDst-1)*dstDib.dsBm.bmWidthBytes
+ dstPtr = &physDevDst->bitmap->base[(dstDib.dsBm.bmHeight-yDst-1)*dstDib.dsBm.bmWidthBytes
+ xDst*bytesPerPixel];
dstRowOffset = -dstDib.dsBm.bmWidthBytes;
}
More information about the wine-patches
mailing list