From a4cc2d0919408f8248516f768032944a55824a12 Mon Sep 17 00:00:00 2001 From: Michael Wetherell Date: Wed, 29 Nov 2006 21:42:57 +0000 Subject: [PATCH] Add a hack to allow an external jpeg library to still be used on cygwin/mingw/wine now that their windows headers define a type boolean conflicting with the jpeg headers. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/imagjpeg.cpp | 16 ++++++++++++++++ src/tiff/tif_jpeg.c | 11 ++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/common/imagjpeg.cpp b/src/common/imagjpeg.cpp index c92e115396..86f864b753 100644 --- a/src/common/imagjpeg.cpp +++ b/src/common/imagjpeg.cpp @@ -26,6 +26,22 @@ #include "wx/module.h" #endif +// A hack based on one from tif_jpeg.c to overcome the problem on Windows +// of rpcndr.h defining boolean with a different type to the jpeg headers. +// +// This hack is only necessary for an external jpeg library, the builtin one +// usually used on Windows doesn't use the type boolean, so always works. +// +#if defined wxHACK_BOOLEAN || defined __RPCNDR_H__ || defined __WINE_RPCNDR_H + #define HAVE_BOOLEAN + + #ifdef wxHACK_BOOLEAN + #define boolean wxHACK_BOOLEAN + #else + #define boolean int + #endif +#endif + extern "C" { #if defined(__WXMSW__) diff --git a/src/tiff/tif_jpeg.c b/src/tiff/tif_jpeg.c index 6f3d652920..2942823dbc 100644 --- a/src/tiff/tif_jpeg.c +++ b/src/tiff/tif_jpeg.c @@ -59,9 +59,14 @@ int TIFFFillTile(TIFF*, ttile_t); http://bugzilla.remotesensing.org/show_bug.cgi?id=188 */ -#if defined(__RPCNDR_H__) -#define HAVE_BOOLEAN -#define boolean unsigned int +#if defined wxHACK_BOOLEAN || defined __RPCNDR_H__ || defined __WINE_RPCNDR_H + #define HAVE_BOOLEAN + + #ifdef wxHACK_BOOLEAN + #define boolean wxHACK_BOOLEAN + #else + #define boolean int + #endif #endif #include "jpeglib.h" -- 2.45.2