Roderick Colenbrander : winex11: Fix xrender mono->mono blit.

Alexandre Julliard julliard at winehq.org
Wed Feb 17 10:12:05 CST 2010


Module: wine
Branch: master
Commit: 5b29189da4e0cb8c36d79ab7baff3ccf332d4409
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5b29189da4e0cb8c36d79ab7baff3ccf332d4409

Author: Roderick Colenbrander <thunderbird2k at gmail.com>
Date:   Wed Feb 17 16:09:51 2010 +0100

winex11: Fix xrender mono->mono blit.

Use plain xrender_blit for mono -> mono copies, masking in combination
with PictOpOver doesn't make sense and doesn't work.

---

 dlls/winex11.drv/xrender.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c
index 214be7b..a5cd65a 100644
--- a/dlls/winex11.drv/xrender.c
+++ b/dlls/winex11.drv/xrender.c
@@ -2166,7 +2166,7 @@ BOOL X11DRV_XRender_GetSrcAreaStretch(X11DRV_PDEVICE *physDevSrc, X11DRV_PDEVICE
     }
 
     /* mono -> color */
-    if(physDevSrc->depth == 1)
+    if(physDevSrc->depth == 1 && physDevDst->depth > 1)
     {
         XRenderColor col;
         get_xrender_color(dst_format, physDevDst->textPixel, &col);
@@ -2189,7 +2189,7 @@ BOOL X11DRV_XRender_GetSrcAreaStretch(X11DRV_PDEVICE *physDevSrc, X11DRV_PDEVICE
         wine_tsx11_unlock();
         LeaveCriticalSection( &xrender_cs );
     }
-    else /* color -> color but with different depths */
+    else /* color -> color (can be at different depths) or mono -> mono */
     {
         src_pict = get_xrender_picture_source(physDevSrc);
 




More information about the wine-cvs mailing list