X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f12a90c7c25c1ebde00c5744540f7769cfade63a..4e1ba52e0a6749942692db66e852994113eac1af:/src/common/imagbmp.cpp diff --git a/src/common/imagbmp.cpp b/src/common/imagbmp.cpp index ea4fd78d04..6e4168e0f0 100644 --- a/src/common/imagbmp.cpp +++ b/src/common/imagbmp.cpp @@ -273,14 +273,16 @@ bool wxBMPHandler::SaveDib(wxImage *image, else if ( (format == wxBMP_8BPP_GREY) || (format == wxBMP_8BPP_RED) || (format == wxBMP_1BPP_BW) ) { - int i; rgbquad = new wxUint8 [palette_size*4]; - for (i = 0; i < palette_size; i++) + for ( int i = 0; i < palette_size; i++ ) { - // if 1BPP_BW then just 0 and 255 then exit - if (( i > 0) && (format == wxBMP_1BPP_BW)) i = 255; - rgbquad[i*4] = rgbquad[i*4+1] = rgbquad[i*4+2] = (wxUint8)i; + // if 1BPP_BW then the value should be either 0 or 255 + wxUint8 c = (wxUint8)((i > 0) && (format == wxBMP_1BPP_BW) ? 255 : i); + + rgbquad[i*4] = + rgbquad[i*4+1] = + rgbquad[i*4+2] = c; rgbquad[i*4+3] = 0; } } @@ -865,8 +867,8 @@ bool wxBMPHandler::LoadDib(wxImage *image, wxInputStream& stream, offset = offset + wxINT32_SWAP_ON_BE(dbuf[2]); stream.Read(dbuf, 4 * 2); - int width = (int)wxINT32_SWAP_ON_BE(dbuf[0]); - int height = (int)wxINT32_SWAP_ON_BE(dbuf[1]); + int width = wxINT32_SWAP_ON_BE((int)dbuf[0]); + int height = wxINT32_SWAP_ON_BE((int)dbuf[1]); if ( !IsBmp)height = height / 2; // for icons divide by 2 if ( width > 32767 ) @@ -888,7 +890,7 @@ bool wxBMPHandler::LoadDib(wxImage *image, wxInputStream& stream, int planes = (int)wxUINT16_SWAP_ON_BE( aWord ); */ stream.Read(&aWord, 2); - int bpp = (int)wxUINT16_SWAP_ON_BE(aWord); + int bpp = wxUINT16_SWAP_ON_BE((int)aWord); if ( bpp != 1 && bpp != 4 && bpp != 8 && bpp != 16 && bpp != 24 && bpp != 32 ) { if (verbose) @@ -897,7 +899,7 @@ bool wxBMPHandler::LoadDib(wxImage *image, wxInputStream& stream, } stream.Read(dbuf, 4 * 4); - int comp = (int)wxINT32_SWAP_ON_BE(dbuf[0]); + int comp = wxINT32_SWAP_ON_BE((int)dbuf[0]); if ( comp != BI_RGB && comp != BI_RLE4 && comp != BI_RLE8 && comp != BI_BITFIELDS ) { @@ -907,7 +909,7 @@ bool wxBMPHandler::LoadDib(wxImage *image, wxInputStream& stream, } stream.Read(dbuf, 4 * 2); - int ncolors = (int)wxINT32_SWAP_ON_BE( dbuf[0] ); + int ncolors = wxINT32_SWAP_ON_BE( (int)dbuf[0] ); if (ncolors == 0) ncolors = 1 << bpp; /* some more sanity checks */ @@ -1035,8 +1037,8 @@ bool wxICOHandler::SaveFile(wxImage *image, ICONDIR IconDir; IconDir.idReserved = 0; - IconDir.idType = (wxUint16)wxUINT16_SWAP_ON_BE(type); - IconDir.idCount = (wxUint16)wxUINT16_SWAP_ON_BE(images); + IconDir.idType = wxUINT16_SWAP_ON_BE((wxUint16)type); + IconDir.idCount = wxUINT16_SWAP_ON_BE((wxUint16)images); stream.Write(&IconDir.idReserved, sizeof(IconDir.idReserved)); stream.Write(&IconDir.idType, sizeof(IconDir.idType)); stream.Write(&IconDir.idCount, sizeof(IconDir.idCount));