gfx/cairo/fix-unnecessary-fallback.patch

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
     2 index 353cbcd..1a053d0 100644
     3 --- a/src/cairo-xlib-surface.c
     4 +++ b/src/cairo-xlib-surface.c
     5 @@ -1818,7 +1817,8 @@ _recategorize_composite_operation (cairo_xlib_surface_t	      *dst,
     6  	    return DO_XTILE;
     7      }
     9 -    if (dst->buggy_repeat && src_attr->extend == CAIRO_EXTEND_REPEAT)
    10 +    if (dst->buggy_repeat && src_attr->extend == CAIRO_EXTEND_REPEAT &&
    11 +	    (src->width != 1 || src->height != 1))
    12  	return DO_UNSUPPORTED;
    14      if (! CAIRO_SURFACE_RENDER_HAS_COMPOSITE (src))

mercurial