gfx/cairo/ensure-text-flushed.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/gfx/cairo/cairo/src/cairo-pdf-operators.c b/gfx/cairo/cairo/src/cairo-pdf-operators.c
     2 --- a/gfx/cairo/cairo/src/cairo-pdf-operators.c
     3 +++ b/gfx/cairo/cairo/src/cairo-pdf-operators.c
     4 @@ -480,6 +480,12 @@ _cairo_pdf_operators_clip (cairo_pdf_ope
     5      const char *pdf_operator;
     6      cairo_status_t status;
     8 +    if (pdf_operators->in_text_object) {
     9 +	status = _cairo_pdf_operators_end_text (pdf_operators);
    10 +	if (unlikely (status))
    11 +	    return status;
    12 +    }
    13 +
    14      if (! path->has_current_point) {
    15  	/* construct an empty path */
    16  	_cairo_output_stream_printf (pdf_operators->stream, "0 0 m ");

mercurial