Hi All,

    This fix restores cairo to it's pre 2.24 release behavior and fixes 
the graphics corruption on VirtualBox.
    See bug report for more details.

    (Patch from Ginn).

    Thanks,

          Erwann

diff -rup ../amd64/cairo-1.7.4/src/cairo-xlib-display.c 
cairo-1.7.4/src/cairo-xlib-display.
c
--- ../amd64/cairo-1.7.4/src/cairo-xlib-display.c    2008-06-22 
20:40:27.000000000 +0200
+++ cairo-1.7.4/src/cairo-xlib-display.c    2008-10-28 
15:03:17.590515767 +0100
@@ -64,6 +64,8 @@ struct _cairo_xlib_job {
 
 static cairo_xlib_display_t *_cairo_xlib_display_list;
 
+static int buggy_repeat_force = -1;
+
 static void
 _cairo_xlib_call_close_display_hooks (cairo_xlib_display_t *display)
 {
@@ -316,6 +318,17 @@ _cairo_xlib_display_get (Display *dpy)
     if (VendorRelease (dpy) <= 40500000)
         display->buggy_repeat = TRUE;
     }
+    /* workaround; see 
http://defect.opensolaris.org/bz/show_bug.cgi?id=4187 */
+    if (buggy_repeat_force == -1) {
+        if (getenv("CAIRO_NO_BUGGY_REPEAT"))
+            buggy_repeat_force = 0;
+        else
+            buggy_repeat_force = 1;
+    }
+
+    if (buggy_repeat_force)
+        display->buggy_repeat = TRUE;
+
 
     display->next = _cairo_xlib_display_list;
     _cairo_xlib_display_list = display;
   

-- 
              Erwann Ch?ned?,
 Desktop Group, Sun Microsystems, Grenoble
 Phone  : +33 476 188 358       ext: 38358


Reply via email to