From 13f52454c4331500e012d6b8594f7b74b8ed64c8 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Fri, 13 Aug 2004 19:47:29 +0000 Subject: [PATCH] Sync with dibsection in SetDIBitsToDevice. --- dlls/x11drv/dib.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dlls/x11drv/dib.c b/dlls/x11drv/dib.c index 1ddee0a0694..50431f32e49 100644 --- a/dlls/x11drv/dib.c +++ b/dlls/x11drv/dib.c @@ -3637,6 +3637,9 @@ INT X11DRV_SetDIBitsToDevice( X11DRV_PDEVICE *physDev, INT xDest, INT yDest, DWO if (xSrc + cx >= width) cx = width - xSrc; if (!cx || !cy) return lines; + /* Update the pixmap from the DIB section */ + X11DRV_LockDIBSection(physDev, DIB_Status_GdiMod, FALSE); + X11DRV_SetupGCForText( physDev ); /* To have the correct colors */ wine_tsx11_lock(); XSetFunction(gdi_display, physDev->gc, X11DRV_XROPfunction[GetROP2(physDev->hdc) - 1]); @@ -3692,6 +3695,10 @@ INT X11DRV_SetDIBitsToDevice( X11DRV_PDEVICE *physDev, INT xDest, INT yDest, DWO if (descr.infoBpp <= 8) HeapFree(GetProcessHeap(), 0, descr.colorMap); + + /* Update the DIBSection of the pixmap */ + X11DRV_UnlockDIBSection(physDev, TRUE); + return result; }