diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-07-31 11:35:45 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-07-31 13:17:23 +0100 |
commit | 53cbbad8fbbd2b9423a5eb179d0cec3fc7678791 (patch) | |
tree | 16a9868318479083088b4aefa3424e68b57849a6 /src | |
parent | e283e53563915daa11566ba006e1bf1e12b0d2fc (diff) |
[xlib] Disable extended repeat modes if RENDER < 0.10
The extended repeat modes were only introduced in RENDER 0.10, so disable
them if the server reports an earlier version. This is in addition to
disabling the repeat modes if we know (guess!) the server to have a buggy
implementation.
Diffstat (limited to 'src')
-rw-r--r-- | src/cairo-xlib-surface.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c index 4bc244a5..7ffd1b8a 100644 --- a/src/cairo-xlib-surface.c +++ b/src/cairo-xlib-surface.c @@ -152,6 +152,8 @@ static const XTransform identity = { { #define CAIRO_SURFACE_RENDER_HAS_PICTURE_TRANSFORM(surface) CAIRO_SURFACE_RENDER_AT_LEAST((surface), 0, 6) #define CAIRO_SURFACE_RENDER_HAS_FILTERS(surface) CAIRO_SURFACE_RENDER_AT_LEAST((surface), 0, 6) +#define CAIRO_SURFACE_RENDER_HAS_EXTENDED_REPEAT(surface) CAIRO_SURFACE_RENDER_AT_LEAST((surface), 0, 10) + #define CAIRO_SURFACE_RENDER_HAS_PDF_OPERATORS(surface) CAIRO_SURFACE_RENDER_AT_LEAST((surface), 0, 11) #if RENDER_MAJOR > 0 || RENDER_MINOR >= 11 @@ -2751,6 +2753,8 @@ _cairo_xlib_surface_create_internal (Display *dpy, surface->buggy_repeat = TRUE; } surface->buggy_pad_reflect = screen_info->display->buggy_pad_reflect; + if (! CAIRO_SURFACE_RENDER_HAS_EXTENDED_REPEAT (surface)) + surface->buggy_pad_reflect = TRUE; surface->dst_picture = None; surface->src_picture = None; |