From f15dcec52ffeaa48c9d467ce17faa0be28aba5f5 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Fri, 19 Aug 2011 16:23:56 +0100 Subject: [PATCH] winex11: Sync a dib section's bits before copying the brush. --- dlls/winex11.drv/brush.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dlls/winex11.drv/brush.c b/dlls/winex11.drv/brush.c index 8f3e5762dcb..6909d52f915 100644 --- a/dlls/winex11.drv/brush.c +++ b/dlls/winex11.drv/brush.c @@ -216,6 +216,8 @@ static BOOL BRUSH_SelectPatternBrush( X11DRV_PDEVICE *physDev, HBITMAP hbitmap ) if (!physBitmap || !GetObjectW( hbitmap, sizeof(bitmap), &bitmap )) return FALSE; + X11DRV_DIB_Lock( physBitmap, DIB_Status_GdiMod ); + if ((physDev->depth == 1) && (physBitmap->pixmap_depth != 1)) { wine_tsx11_lock(); @@ -233,6 +235,8 @@ static BOOL BRUSH_SelectPatternBrush( X11DRV_PDEVICE *physDev, HBITMAP hbitmap ) X11DRV_XRender_CopyBrush(physDev, physBitmap, bitmap.bmWidth, bitmap.bmHeight); } + X11DRV_DIB_Unlock( physBitmap, TRUE ); + if (physBitmap->pixmap_depth > 1) { physDev->brush.fillStyle = FillTiled; -- 2.11.4.GIT