Home | History | Annotate | Download | only in patches
      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 @@
      4  
      5  static cairo_xlib_display_t *_cairo_xlib_display_list;
      6  
      7 +static int buggy_repeat_force = -1;
      8 +
      9  static void
     10  _cairo_xlib_remove_close_display_hook_internal (cairo_xlib_display_t *display,
     11  						cairo_xlib_hook_t *hook);
     12 @@ -337,6 +339,17 @@
     13  	if (VendorRelease (dpy) <= 40500000)
     14  	    display->buggy_repeat = TRUE;
     15      }
     16 +/* workaround; see http://defect.opensolaris.org/bz/show_bug.cgi?id=4187 */
     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;
     30