From be79779331ee29c0bfb74b728227719bb5dead6e Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 5 Dec 2007 09:24:17 -0800 Subject: [PATCH] Restrict initial buggy version to X.Org 6.7 rather than 6.0 Also add some comments describing the test. --- src/cairo-xlib-display.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/cairo-xlib-display.c b/src/cairo-xlib-display.c index 6b389e540..430f1ce3f 100644 --- a/src/cairo-xlib-display.c +++ b/src/cairo-xlib-display.c @@ -292,7 +292,14 @@ _cairo_xlib_display_get (Display *dpy) display->buggy_repeat = FALSE; if (strstr (ServerVendor (dpy), "X.Org") != NULL) { - if (VendorRelease (dpy) >= 60000000 && VendorRelease (dpy) <= 60802000) + /* When modularized, the X.Org server VendorRelease was + * bogusly reset to a very small number, without any change in + * the ServerVendor string. We avoid considering the new + * servers with the small number as buggy by restricting the + * test to known bad releases. But there could be a problem + * again in the future if X.Org server versions ever climb + * back up to 6.7 or 6.8. */ + if (VendorRelease (dpy) >= 60700000 && VendorRelease (dpy) <= 60802000) display->buggy_repeat = TRUE; } else if (strstr (ServerVendor (dpy), "XFree86") != NULL) { if (VendorRelease (dpy) <= 40500000)