diff --git a/src/common/gifdecod.cpp b/src/common/gifdecod.cpp index 923685e552..4936609deb 100644 --- a/src/common/gifdecod.cpp +++ b/src/common/gifdecod.cpp @@ -476,7 +476,7 @@ int wxGIFDecoder::ReadGIF() int ncolors, bits, interl, transparent, disposal, i; long size; long delay; - unsigned char type; + unsigned char type = 0; unsigned char pal[768]; unsigned char buf[16]; GIFImage **ppimg, *pimg, *pprev; diff --git a/src/common/imagjpeg.cpp b/src/common/imagjpeg.cpp index 5e3f56ce34..6d4a1584fb 100644 --- a/src/common/imagjpeg.cpp +++ b/src/common/imagjpeg.cpp @@ -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; @@ -339,6 +339,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 ) { diff --git a/src/common/imagpng.cpp b/src/common/imagpng.cpp index f869ffedee..8272a0d383 100644 --- a/src/common/imagpng.cpp +++ b/src/common/imagpng.cpp @@ -93,6 +93,12 @@ LINKAGEMODE png_silent_warning(png_structp WXUNUSED(png_ptr), png_const_charp WX { } +// 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 wxPNGHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbose, int WXUNUSED(index) ) { // VZ: as this function uses setjmp() the only fool proof error handling @@ -267,7 +273,6 @@ bool wxPNGHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbose return FALSE; } - bool wxPNGHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbose ) { { @@ -346,6 +351,10 @@ bool wxPNGHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbos return TRUE; } +#ifdef __VISUALC__ + #pragma warning(default:4611) +#endif /* VC++ */ + bool wxPNGHandler::DoCanRead( wxInputStream& stream ) { unsigned char hdr[4]; diff --git a/src/common/unzip.c b/src/common/unzip.c index d9b855ae5c..be48958cfb 100644 --- a/src/common/unzip.c +++ b/src/common/unzip.c @@ -149,6 +149,11 @@ typedef struct int unzlocal_CheckCurrentFileCoherencyHeader (unz_s*, uInt*, uLong*, uInt*); #endif +/* disable warnings about K&R declarations until the end of file */ +#ifdef _MSC_VER +#pragma warning(disable:4131) +#endif /* VC++ */ + /* =========================================================================== Read a byte from a gz_stream; update next_in and avail_in. Return EOF for end of file.