dib: SetDIBitsToDevice should sync with dibsection

Huw D M Davies h.davies1 at physics.ox.ac.uk
Fri Aug 13 09:59:38 CDT 2004


        Huw Davies <huw at codeweavers.com>
        Sync with dibsection in SetDIBitsToDevice
-- 
Huw Davies
huw at codeweavers.com
Index: dlls/x11drv/dib.c
===================================================================
RCS file: /home/wine/wine/dlls/x11drv/dib.c,v
retrieving revision 1.14
diff -u -r1.14 dib.c
--- dlls/x11drv/dib.c	12 Aug 2004 20:02:39 -0000	1.14
+++ dlls/x11drv/dib.c	13 Aug 2004 14:57:34 -0000
@@ -3637,6 +3637,9 @@
     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 @@
 
     if (descr.infoBpp <= 8)
        HeapFree(GetProcessHeap(), 0, descr.colorMap);
+
+    /* Update the DIBSection of the pixmap */
+    X11DRV_UnlockDIBSection(physDev, TRUE);
+
     return result;
 }
 



More information about the wine-patches mailing list