From 7db326a15b173c0d101adc608bf551a628c65dcd Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Sun, 25 Jan 2015 08:13:24 +0400 Subject: [PATCH] Fix build on WinRT There is no environment (like WinCE) and the basic version of InitializeCriticalSection is unsupported. https://codereview.qt-project.org/#/c/92496/ --- src/hb-mutex-private.hh | 4 ++++ src/hb-private.hh | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/hb-mutex-private.hh b/src/hb-mutex-private.hh index 628120195..a8ea39ccf 100644 --- a/src/hb-mutex-private.hh +++ b/src/hb-mutex-private.hh @@ -47,7 +47,11 @@ #include typedef CRITICAL_SECTION hb_mutex_impl_t; #define HB_MUTEX_IMPL_INIT {0} +#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_PC_APP || WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP) +#define hb_mutex_impl_init(M) InitializeCriticalSectionEx (M, 0, 0) +#else #define hb_mutex_impl_init(M) InitializeCriticalSection (M) +#endif #define hb_mutex_impl_lock(M) EnterCriticalSection (M) #define hb_mutex_impl_unlock(M) LeaveCriticalSection (M) #define hb_mutex_impl_finish(M) DeleteCriticalSection (M) diff --git a/src/hb-private.hh b/src/hb-private.hh index c92cdec51..8438fae7a 100644 --- a/src/hb-private.hh +++ b/src/hb-private.hh @@ -142,6 +142,8 @@ #define getenv(Name) NULL #define setlocale(Category, Locale) "C" static int errno = 0; /* Use something better? */ +#elif defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_PC_APP || WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP) +#define getenv(Name) NULL #endif #if HAVE_ATEXIT