Alexandre Julliard : x11drv: Clipping fix with DIB section copy.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Dec 13 12:24:53 CST 2005


Module: wine
Branch: refs/heads/master
Commit: 6b1e75d2785c72c1249a6b8bd89b62110e40b2ef
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=6b1e75d2785c72c1249a6b8bd89b62110e40b2ef

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Dec 13 17:05:06 2005 +0100

x11drv: Clipping fix with DIB section copy.
Use the GC of the destination device in X11DRV_DIB_CopyDIBSection so
that the clipping region is taken into account.

---

 dlls/x11drv/dib.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/x11drv/dib.c b/dlls/x11drv/dib.c
index 5666feb..5c6a2b9 100644
--- a/dlls/x11drv/dib.c
+++ b/dlls/x11drv/dib.c
@@ -4152,7 +4152,7 @@ static void X11DRV_DIB_DoProtectDIBSecti
  */
 static void X11DRV_DIB_DoCopyDIBSection(X_PHYSBITMAP *physBitmap, BOOL toDIB,
 					void *colorMap, int nColorMap,
-					Drawable dest,
+					Drawable dest, GC gc,
 					DWORD xSrc, DWORD ySrc,
 					DWORD xDest, DWORD yDest,
 					DWORD width, DWORD height)
@@ -4202,7 +4202,7 @@ static void X11DRV_DIB_DoCopyDIBSection(
 
   /* Hack for now */
   descr.drawable  = dest;
-  descr.gc        = BITMAP_GC(physBitmap);
+  descr.gc        = gc;
   descr.xSrc      = xSrc;
   descr.ySrc      = ySrc;
   descr.xDest     = xDest;
@@ -4280,7 +4280,7 @@ void X11DRV_DIB_CopyDIBSection(X11DRV_PD
     }
     /* perform the copy */
     X11DRV_DIB_DoCopyDIBSection(physBitmap, FALSE, colorMap, nColorMap,
-				physDevDst->drawable, xSrc, ySrc,
+				physDevDst->drawable, physDevDst->gc, xSrc, ySrc,
                                 physDevDst->org.x + xDest, physDevDst->org.y + yDest,
 				width, height);
     /* free color mapping */
@@ -4299,8 +4299,8 @@ static void X11DRV_DIB_DoUpdateDIBSectio
     GetObjectW( physBitmap->hbitmap, sizeof(bitmap), &bitmap );
     X11DRV_DIB_DoCopyDIBSection(physBitmap, toDIB,
                                 physBitmap->colorMap, physBitmap->nColorMap,
-                                physBitmap->pixmap, 0, 0, 0, 0,
-                                bitmap.bmWidth, bitmap.bmHeight);
+                                physBitmap->pixmap, BITMAP_GC(physBitmap),
+                                0, 0, 0, 0, bitmap.bmWidth, bitmap.bmHeight);
 }
 
 /***********************************************************************




More information about the wine-cvs mailing list