gfx/cairo/pixman-xp-dll-workaround

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 diff --git a/gfx/cairo/libpixman/src/pixman-compiler.h b/gfx/cairo/libpixman/src/pixman-compiler.h
     2 --- a/gfx/cairo/libpixman/src/pixman-compiler.h
     3 +++ b/gfx/cairo/libpixman/src/pixman-compiler.h
     4 @@ -114,20 +114,22 @@
     6  #elif defined(TLS)
     8  #   define PIXMAN_DEFINE_THREAD_LOCAL(type, name)			\
     9      static TLS type name
    10  #   define PIXMAN_GET_THREAD_LOCAL(name)				\
    11      (&name)
    13 -#elif defined(__MINGW32__)
    14 +#elif defined(__MINGW32__) || defined(PIXMAN_USE_XP_DLL_TLS_WORKAROUND)
    16  #   define _NO_W32_PSEUDO_MODIFIERS
    17  #   include <windows.h>
    18 +#undef IN
    19 +#undef OUT
    21  #   define PIXMAN_DEFINE_THREAD_LOCAL(type, name)			\
    22      static volatile int tls_ ## name ## _initialized = 0;		\
    23      static void *tls_ ## name ## _mutex = NULL;				\
    24      static unsigned tls_ ## name ## _index;				\
    25  									\
    26      static type *							\
    27      tls_ ## name ## _alloc (void)					\

mercurial