summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2008-11-13 16:45:15 +0100
committerCarl Worth <cworth@cworth.org>2008-11-13 16:54:00 +0100
commitd654d528de16769932131da80f4b925151d50103 (patch)
tree526f311f92058f607365c9470699a432a6a4ce8b
parent35a1ba0ddc45f9cc785c6f8a37b6bb49c953e047 (diff)
Blacklist "X.Org" < 7.0 with the buggy_repeat workaround.
This is in response to a report that a 6.9 server crashes with cairo's extend-reflect test: https://bugs.freedesktop.org/show_bug.cgi?id=15628#c2
-rw-r--r--src/cairo-xlib-display.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/cairo-xlib-display.c b/src/cairo-xlib-display.c
index fae0f2330..b2e2755d3 100644
--- a/src/cairo-xlib-display.c
+++ b/src/cairo-xlib-display.c
@@ -319,10 +319,17 @@ _cairo_xlib_display_get (Display *dpy)
* by using the same buggy_repeat workaround. Confirmed X
* servers with this bug include:
*
- * "X.org" < 10400000 (new numbering scheme)
+ * "X.org" == 60900000 (old versioning scheme)
+ * "X.org" < 10400000 (new numbering scheme)
+ *
+ * For the old-versioning-scheme X servers we don't know
+ * exactly when second the bug started, but since bug 1 is
+ * present through 6.8.2 and bug 2 is present in 6.9.0 it seems
+ * safest to just blacklist all old-versioning-scheme X servers,
+ * (just using VendorRelase < 70000000), as buggy_repeat=TRUE.
*/
if (strstr (ServerVendor (dpy), "X.Org") != NULL) {
- if (VendorRelease (dpy) >= 60700000 && VendorRelease (dpy) <= 60802000)
+ if (VendorRelease (dpy) >= 60700000 && VendorRelease (dpy) < 70000000)
display->buggy_repeat = TRUE;
if (VendorRelease (dpy) < 10400000)
display->buggy_repeat = TRUE;