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