]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/imagjpeg.cpp
merged optimizations from 2.2
[wxWidgets.git] / src / common / imagjpeg.cpp
index 8d6496294002c7a76c9f73baa636fd1c81cdc4d2..f985604631f44cd36ff3297623a35c95b116e052 100644 (file)
@@ -117,7 +117,7 @@ METHODDEF(void) my_term_source ( j_decompress_ptr cinfo )
     my_src_ptr src = (my_src_ptr) cinfo->src;
 
     if (src->pub.bytes_in_buffer > 0)
-        src->stream->SeekI(-src->pub.bytes_in_buffer, wxFromCurrent);
+        src->stream->SeekI(-(long)src->pub.bytes_in_buffer, wxFromCurrent);
     delete[] src->buffer;
 }
 
@@ -173,7 +173,11 @@ my_error_exit (j_common_ptr cinfo)
   longjmp(myerr->setjmp_buffer, 1);
 }
 
-
+// temporarily disable the warning C4611 (interaction between '_setjmp' and
+// C++ object destruction is non-portable) - I don't see any dtors here
+#ifdef __VISUALC__
+    #pragma warning(disable:4611)
+#endif /* VC++ */
 
 bool wxJPEGHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbose, int WXUNUSED(index) )
 {
@@ -229,10 +233,6 @@ bool wxJPEGHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbos
     return TRUE;
 }
 
-
-
-
-
 typedef struct {
     struct jpeg_destination_mgr pub;
 
@@ -349,6 +349,9 @@ bool wxJPEGHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbo
     return TRUE;
 }
 
+#ifdef __VISUALC__
+    #pragma warning(default:4611)
+#endif /* VC++ */
 
 bool wxJPEGHandler::DoCanRead( wxInputStream& stream )
 {