]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/imagjpeg.cpp
Add some version checks to help compiling on OSX.
[wxWidgets.git] / src / common / imagjpeg.cpp
index f14027cb78d4bd0ed122b7e051eef07a2e646759..2a24dce9902edd7ab37b245a52e69adc5d5fbeef 100644 (file)
@@ -17,6 +17,7 @@
 #if wxUSE_IMAGE && wxUSE_LIBJPEG
 
 #include "wx/imagjpeg.h"
+#include "wx/versioninfo.h"
 
 #ifndef WX_PRECOMP
     #include "wx/log.h"
@@ -28,7 +29,7 @@
 
 // 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.
 //
@@ -251,10 +252,12 @@ bool wxJPEGHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbos
        * We need to clean up the JPEG object, close the input file, and return.
        */
       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();
+      if (image->IsOk()) image->Destroy();
       return false;
     }
 
@@ -288,7 +291,7 @@ bool wxJPEGHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbos
     jpeg_start_decompress( &cinfo );
 
     image->Create( cinfo.output_width, cinfo.output_height );
-    if (!image->Ok()) {
+    if (!image->IsOk()) {
         jpeg_finish_decompress( &cinfo );
         jpeg_destroy_decompress( &cinfo );
         return false;
@@ -421,7 +424,9 @@ bool wxJPEGHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbo
          * We need to clean up the JPEG object, close the input file, and return.
          */
          if (verbose)
+         {
             wxLogError(_("JPEG: Couldn't save image."));
+         }
          jpeg_destroy_compress(&cinfo);
          return false;
     }
@@ -479,7 +484,7 @@ bool wxJPEGHandler::DoCanRead( wxInputStream& stream )
 {
     unsigned char hdr[2];
 
-    if ( !stream.Read(hdr, WXSIZEOF(hdr)) )
+    if ( !stream.Read(hdr, WXSIZEOF(hdr)) )     // it's ok to modify the stream position here
         return false;
 
     return hdr[0] == 0xFF && hdr[1] == 0xD8;
@@ -487,4 +492,9 @@ bool wxJPEGHandler::DoCanRead( wxInputStream& stream )
 
 #endif   // wxUSE_STREAMS
 
+/*static*/ wxVersionInfo wxJPEGHandler::GetLibraryVersionInfo()
+{
+    return wxVersionInfo("libjpeg", JPEG_LIB_VERSION/10, JPEG_LIB_VERSION%10);
+}
+
 #endif   // wxUSE_LIBJPEG