gfx/cairo/fix-cairo-win32-print-gdi-error.diff

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-win32-surface.c b/gfx/cairo/cairo/src/cairo-win32-surface.c
     2 --- a/gfx/cairo/cairo/src/cairo-win32-surface.c
     3 +++ b/gfx/cairo/cairo/src/cairo-win32-surface.c
     4 @@ -95,20 +95,21 @@ _cairo_win32_print_gdi_error (const char
     5  			 FORMAT_MESSAGE_FROM_SYSTEM,
     6  			 NULL,
     7  			 last_error,
     8  			 MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
     9  			 (LPSTR) &lpMsgBuf,
    10  			 0, NULL)) {
    11  	fprintf (stderr, "%s: Unknown GDI error", context);
    12      } else {
    13 -	fwprintf (stderr, "%S: %s", context, (char *)lpMsgBuf);
    14 +	fprintf (stderr, "%s: %S", context, (char *)lpMsgBuf);
    16  	LocalFree (lpMsgBuf);
    17      }
    18 +    fflush(stderr);
    20      /* We should switch off of last_status, but we'd either return
    21       * CAIRO_STATUS_NO_MEMORY or CAIRO_STATUS_UNKNOWN_ERROR and there
    22       * is no CAIRO_STATUS_UNKNOWN_ERROR.
    23       */
    25      return _cairo_error (CAIRO_STATUS_NO_MEMORY);
    26  }

mercurial