X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/25fae923236cb855aad93d293025f4485d76f339..13dec1dbebf7493e8bfea8584bf9c4b36a94849c:/src/msw/gdiplus.cpp diff --git a/src/msw/gdiplus.cpp b/src/msw/gdiplus.cpp index df688b1135..44126964e7 100644 --- a/src/msw/gdiplus.cpp +++ b/src/msw/gdiplus.cpp @@ -36,6 +36,14 @@ #include "wx/msw/wrapgdip.h" +// w32api headers used by both MinGW and Cygwin wrongly define UINT16 inside +// Gdiplus namespace in gdiplus.h which results in ambiguity errors when using +// this type as UINT16 is also defined in global scope by windows.h (or rather +// basetsd.h included from it), so we redefine it to work around this problem. +#if defined(__CYGWIN__) || defined(__MINGW32__) + #define UINT16 unsigned short +#endif + // ---------------------------------------------------------------------------- // helper macros // ---------------------------------------------------------------------------- @@ -732,17 +740,17 @@ wxFOR_ALL_GDIPLUS_STATUS_FUNCS(wxDECL_GDIPLUS_FUNC_TYPE) #undef wxDECL_GDIPLUS_FUNC_TYPE -} // extern "C" - -// Special hack for Cygwin: its headers reference this variable which is -// normally defined in Cygwin-specific gdiplus.lib but as we don't link with it +// Special hack for w32api headers that reference this variable which is +// normally defined in w32api-specific gdiplus.lib but as we don't link with it // and load gdiplus.dll dynamically, it's not defined in our case resulting in // linking errors -- so just provide it ourselves, it doesn't matter where it // is and if Cygwin headers are modified to not use it in the future, it's not // a big deal neither, we'll just have an unused pointer. -#ifdef __CYGWIN__ -extern "C" void *_GdipStringFormatCachedGenericTypographic = NULL; -#endif // __CYGWIN__ +#if defined(__CYGWIN__) || defined(__MINGW32__) +void *_GdipStringFormatCachedGenericTypographic = NULL; +#endif // __CYGWIN__ || __MINGW32__ + +} // extern "C" // ============================================================================ // wxGdiPlus helper class