14737
|
1 |
--- cairo-1.8.4/src/cairo-xlib-display.c.orig 2008-11-13 23:56:33.000000000 +0800
|
|
2 |
+++ cairo-1.8.4/src/cairo-xlib-display.c 2008-11-25 14:39:56.342087676 +0800
|
|
3 |
@@ -66,6 +66,8 @@
|
14519
|
4 |
|
|
5 |
static cairo_xlib_display_t *_cairo_xlib_display_list;
|
|
6 |
|
|
7 |
+static int buggy_repeat_force = -1;
|
|
8 |
+
|
|
9 |
static void
|
14737
|
10 |
_cairo_xlib_remove_close_display_hook_internal (cairo_xlib_display_t *display,
|
|
11 |
cairo_xlib_hook_t *hook);
|
|
12 |
@@ -337,6 +339,17 @@
|
14519
|
13 |
if (VendorRelease (dpy) <= 40500000)
|
|
14 |
display->buggy_repeat = TRUE;
|
|
15 |
}
|
14737
|
16 |
+/* workaround; see http://defect.opensolaris.org/bz/show_bug.cgi?id=4187 */
|
14519
|
17 |
+ if (buggy_repeat_force == -1) {
|
|
18 |
+ if (getenv("CAIRO_NO_BUGGY_REPEAT"))
|
|
19 |
+ buggy_repeat_force = 0;
|
|
20 |
+ else
|
|
21 |
+ buggy_repeat_force = 1;
|
|
22 |
+ }
|
|
23 |
+
|
|
24 |
+ if (buggy_repeat_force)
|
|
25 |
+ display->buggy_repeat = TRUE;
|
|
26 |
+
|
|
27 |
|
|
28 |
display->next = _cairo_xlib_display_list;
|
|
29 |
_cairo_xlib_display_list = display;
|