]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/imagjpeg.cpp
added support for range types to runtime depersister
[wxWidgets.git] / src / common / imagjpeg.cpp
index 23c5e7aa366ea3c8b5f0e3df15c90b4834e6f772..4173a9b5e7e58829e426222535325b0433321a2b 100644 (file)
@@ -7,7 +7,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "imagjpeg.h"
 #endif
 
 #pragma implementation "imagjpeg.h"
 #endif
 
 #include "wx/log.h"
 #include "wx/app.h"
 
 #include "wx/log.h"
 #include "wx/app.h"
 
-// NB: Some compilers define boolean type in Windows headers (e.g. Watcom C++).
+// NB: Some compilers define boolean type in Windows headers 
+//     (e.g. Watcom C++, but not Open Watcom).
 //     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.
 //     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__))
+#if defined(__WXMSW__) && (defined(__MWERKS__) || defined(__DIGITALMARS__) || (defined(__WATCOMC__) && __WATCOMC__ < 1200))
     #define HAVE_BOOLEAN
     #define HAVE_BOOLEAN
-    #include <windows.h>
+    #include "wx/msw/wrapwin.h"
 #endif
 
 extern "C"
 #endif
 
 extern "C"
@@ -378,9 +379,10 @@ bool wxJPEGHandler::DoCanRead( wxInputStream& stream )
 {
     unsigned char hdr[2];
 
 {
     unsigned char hdr[2];
 
-    stream.Read(hdr, 2);
-    stream.SeekI(-2, wxFromCurrent);
-    return (hdr[0] == 0xFF && hdr[1] == 0xD8);
+    if ( !stream.Read(hdr, WXSIZEOF(hdr)) )
+        return FALSE;
+
+    return hdr[0] == 0xFF && hdr[1] == 0xD8;
 }
 
 #endif   // wxUSE_STREAMS
 }
 
 #endif   // wxUSE_STREAMS