diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-03-13 09:26:36 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-03-13 09:26:36 +0000 |
commit | d4b89fdb51c0936c50457a2f1e8f6b38d5dd7eb2 (patch) | |
tree | 2ffbc80ca2cb2191d8f714b4d978f6e73d256d69 /filter/source | |
parent | 44e0bbee08bc4df85236935fb7769d5434e5f5ee (diff) |
this is a swap
Change-Id: Iaf6310055b60da772187fdbeaca74d6eb296cfca
Diffstat (limited to 'filter/source')
-rw-r--r-- | filter/source/graphicfilter/ios2met/ios2met.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/filter/source/graphicfilter/ios2met/ios2met.cxx b/filter/source/graphicfilter/ios2met/ios2met.cxx index 83bd93a3d290..0faf7c313af0 100644 --- a/filter/source/graphicfilter/ios2met/ios2met.cxx +++ b/filter/source/graphicfilter/ios2met/ios2met.cxx @@ -26,6 +26,7 @@ #include <vcl/lineinfo.hxx> #include <math.h> +#include <algorithm> #include <memory> class FilterConfigItem; @@ -2301,16 +2302,16 @@ void OS2METReader::ReadImageData(sal_uInt16 nDataID, sal_uInt16 nDataLen) std::unique_ptr<sal_uInt8[]> pBuf(new sal_uInt8[nDataLen]); pOS2MET->ReadBytes(pBuf.get(), nDataLen); if (p->nBitsPerPixel==24) { - sal_uInt8 nTemp; sal_uLong nBytesPerLine = (p->nWidth * 3 + 3) & 0xfffffffc; sal_uLong nAlign = p->nMapPos - (p->nMapPos % nBytesPerLine); sal_uLong i=0; while (nAlign+i+2<p->nMapPos+nDataLen) { if (nAlign+i>=p->nMapPos) { sal_uLong j = nAlign + i - p->nMapPos; - nTemp=pBuf[j]; pBuf[j]=pBuf[j+2]; pBuf[j+2]=nTemp; + std::swap(pBuf[j], pBuf[j+2]); } - i+=3; if (i+2>=nBytesPerLine) { + i+=3; + if (i+2>=nBytesPerLine) { nAlign+=nBytesPerLine; i=0; } |