]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/imagjpeg.cpp
DJGPP compilation fixes
[wxWidgets.git] / src / common / imagjpeg.cpp
index 1e8457fc9b9a07f12613efb8a3ab81b453db8349..2f5cd0a432b3c636152079d6c346e8fe32474ff3 100644 (file)
 #include "wx/debug.h"
 #include "wx/log.h"
 #include "wx/app.h"
+
+// NB: Some compilers define boolean type in Windows headers (e.g. Watcom C++).
+//     This causes a conflict with jmorecfg.h header from libjpeg, so we have
+//     to make sure libjpeg won't try to define boolean itself. This is done by
+//     defining HAVE_BOOLEAN.
+#if defined(__WXMSW__) && (defined(__MWERKS__) || defined(__WATCOMC__))
+    #define HAVE_BOOLEAN
+    #include <windows.h>
+#endif
+
 extern "C"
 {
     #include "jpeglib.h"
 }
+
 #include "wx/filefn.h"
 #include "wx/wfstream.h"
 #include "wx/intl.h"
@@ -47,10 +58,6 @@ extern "C"
 #endif
 #endif
 
-#ifdef __WXMSW__
-#include <windows.h>
-#endif
-
 //-----------------------------------------------------------------------------
 // wxJPEGHandler
 //-----------------------------------------------------------------------------
@@ -197,6 +204,7 @@ bool wxJPEGHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbos
        */
       if (verbose)
         wxLogError(_("JPEG: Couldn't load - file is probably corrupted."));
+      (cinfo.src->term_source)(&cinfo);
       jpeg_destroy_decompress(&cinfo);
       if (image->Ok()) image->Destroy();
       return FALSE;