diff -r 000000000000 -r 6474c204b198 gfx/cairo/pixman-xp-dll-workaround --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/cairo/pixman-xp-dll-workaround Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,27 @@ +diff --git a/gfx/cairo/libpixman/src/pixman-compiler.h b/gfx/cairo/libpixman/src/pixman-compiler.h +--- a/gfx/cairo/libpixman/src/pixman-compiler.h ++++ b/gfx/cairo/libpixman/src/pixman-compiler.h +@@ -114,20 +114,22 @@ + + #elif defined(TLS) + + # define PIXMAN_DEFINE_THREAD_LOCAL(type, name) \ + static TLS type name + # define PIXMAN_GET_THREAD_LOCAL(name) \ + (&name) + +-#elif defined(__MINGW32__) ++#elif defined(__MINGW32__) || defined(PIXMAN_USE_XP_DLL_TLS_WORKAROUND) + + # define _NO_W32_PSEUDO_MODIFIERS + # include ++#undef IN ++#undef OUT + + # define PIXMAN_DEFINE_THREAD_LOCAL(type, name) \ + static volatile int tls_ ## name ## _initialized = 0; \ + static void *tls_ ## name ## _mutex = NULL; \ + static unsigned tls_ ## name ## _index; \ + \ + static type * \ + tls_ ## name ## _alloc (void) \