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