Module: wine Branch: refs/heads/master Commit: 6b1e75d2785c72c1249a6b8bd89b62110e40b2ef URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=6b1e75d2785c72c1249a6b8b...
Author: Alexandre Julliard julliard@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); }
/***********************************************************************