vcl/source/gdi/dibtools.cxx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
New commits: commit 61efddf5ab8cd318e022ca1ac817ba0879a55e23 Author: Oliver-Rainer Wittmann <[email protected]> Date: Mon Mar 31 14:37:21 2014 +0000 124555: restore stream position after Seek to end of stream diff --git a/vcl/source/gdi/dibtools.cxx b/vcl/source/gdi/dibtools.cxx index 3aa5df4..d4ea127 100755 --- a/vcl/source/gdi/dibtools.cxx +++ b/vcl/source/gdi/dibtools.cxx @@ -775,17 +775,18 @@ bool ImplReadDIBBody( SvStream& rIStm, Bitmap& rBmp, Bitmap* pBmpAlpha, sal_uLon bool ImplReadDIBFileHeader( SvStream& rIStm, sal_uLong& rOffset ) { - sal_uInt32 nTmp32; - sal_uInt16 nTmp16 = 0; - bool bRet = false; + bool bRet = false; - const sal_Int64 nStreamLength (rIStm.Seek(STREAM_SEEK_TO_END)); - rIStm.Seek(STREAM_SEEK_TO_BEGIN); + const sal_Int64 nSavedStreamPos( rIStm.Tell() ); + const sal_Int64 nStreamLength( rIStm.Seek( STREAM_SEEK_TO_END ) ); + rIStm.Seek( nSavedStreamPos ); + sal_uInt16 nTmp16 = 0; rIStm >> nTmp16; if ( ( 0x4D42 == nTmp16 ) || ( 0x4142 == nTmp16 ) ) { + sal_uInt32 nTmp32; if ( 0x4142 == nTmp16 ) { rIStm.SeekRel( 12L ); @@ -803,7 +804,7 @@ bool ImplReadDIBFileHeader( SvStream& rIStm, sal_uLong& rOffset ) bRet = ( rIStm.GetError() == 0UL ); } - if (rOffset >= nStreamLength) + if ( rOffset >= nStreamLength ) { // Offset claims that image starts past the end of the // stream. Unlikely. _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
