wine/dlls/x11drv xrender.c

Alexandre Julliard julliard at wine.codeweavers.com
Wed Nov 30 06:00:31 CST 2005


ChangeSet ID:	21560
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at winehq.org	2005/11/30 06:00:31

Modified files:
	dlls/x11drv    : xrender.c 

Log message:
	Robert Shearman <rob at codeweavers.com>
	Disable XRender if bit masks aren't valid.
	XRender code in the X11 driver will go into an infinite loop when the
	colour bit masks are 0, so disable XRender in this case.

Patch: http://cvs.winehq.org/patch.py?id=21560

Old revision  New revision  Changes     Path
 1.75          1.76          +4 -0       wine/dlls/x11drv/xrender.c

Index: wine/dlls/x11drv/xrender.c
diff -u -p wine/dlls/x11drv/xrender.c:1.75 wine/dlls/x11drv/xrender.c:1.76
--- wine/dlls/x11drv/xrender.c:1.75	30 Nov 2005 12: 0:31 -0000
+++ wine/dlls/x11drv/xrender.c	30 Nov 2005 12: 0:31 -0000
@@ -239,6 +239,10 @@ LOAD_OPTIONAL_FUNCPTR(XRenderSetPictureT
                 ERR("mono_format == NULL?\n");
                 X11DRV_XRender_Installed = FALSE;
             }
+            if (!visual->red_mask || !visual->green_mask || !visual->blue_mask) {
+                WARN("one or more of the colour masks are 0, disabling XRENDER. Try running in 16-bit mode or higher.\n");
+                X11DRV_XRender_Installed = FALSE;
+            }
         }
         wine_tsx11_unlock();
     }



More information about the wine-cvs mailing list