summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--svx/source/gallery2/codec.cxx49
-rw-r--r--svx/source/gallery2/galmisc.cxx7
2 files changed, 4 insertions, 52 deletions
diff --git a/svx/source/gallery2/codec.cxx b/svx/source/gallery2/codec.cxx
index 062c60dbecc6..19e2a92cb548 100644
--- a/svx/source/gallery2/codec.cxx
+++ b/svx/source/gallery2/codec.cxx
@@ -18,6 +18,7 @@
*/
+#include <sal/log.hxx>
#include <tools/stream.hxx>
#include <tools/zcodec.hxx>
#include "codec.hxx"
@@ -84,56 +85,12 @@ void GalleryCodec::Read( SvStream& rStmToRead )
if( !IsCoded( rStm, nVersion ) )
return;
- sal_uInt32 nCompressedSize, nUnCompressedSize;
-
- rStm.SeekRel( 6 );
- rStm.ReadUInt32( nUnCompressedSize ).ReadUInt32( nCompressedSize );
+ rStm.SeekRel( 14 );
// decompress
if( 1 == nVersion )
{
- std::unique_ptr<sal_uInt8[]> pCompressedBuffer(new sal_uInt8[ nCompressedSize ]);
- rStm.ReadBytes(pCompressedBuffer.get(), nCompressedSize);
- sal_uInt8* pInBuf = pCompressedBuffer.get();
- std::unique_ptr<sal_uInt8[]> pOutBuf(new sal_uInt8[ nUnCompressedSize ]);
- sal_uInt8* pTmpBuf = pOutBuf.get();
- sal_uInt8* pLast = pOutBuf.get() + nUnCompressedSize - 1;
- sal_uIntPtr nIndex = 0, nCountByte, nRunByte;
- bool bEndDecoding = false;
-
- do
- {
- nCountByte = *pInBuf++;
-
- if ( !nCountByte )
- {
- nRunByte = *pInBuf++;
-
- if ( nRunByte > 2 )
- {
- // filling absolutely
- memcpy( &pTmpBuf[ nIndex ], pInBuf, nRunByte );
- pInBuf += nRunByte;
- nIndex += nRunByte;
-
- // note WORD alignment
- if ( nRunByte & 1 )
- pInBuf++;
- }
- else if ( nRunByte == 1 ) // End of the image
- bEndDecoding = true;
- }
- else
- {
- const sal_uInt8 cVal = *pInBuf++;
-
- memset( &pTmpBuf[ nIndex ], cVal, nCountByte );
- nIndex += nCountByte;
- }
- }
- while ( !bEndDecoding && ( pTmpBuf <= pLast ) );
-
- rStmToRead.WriteBytes(pOutBuf.get(), nUnCompressedSize);
+ SAL_WARN("svx", "staroffice binary file formats are no longer supported inside the gallery!");
}
else if( 2 == nVersion )
{
diff --git a/svx/source/gallery2/galmisc.cxx b/svx/source/gallery2/galmisc.cxx
index ab5713f7a4df..7e4bdef6c428 100644
--- a/svx/source/gallery2/galmisc.cxx
+++ b/svx/source/gallery2/galmisc.cxx
@@ -86,12 +86,7 @@ bool GallerySvDrawImport( SvStream& rIStm, SdrModel& rModel )
aCodec.Read( aMemStm );
aMemStm.Seek( 0 );
- if( 1 == nVersion )
- {
- OSL_FAIL( "staroffice binary file formats are no longer supported inside the gallery!" );
- bRet = false;
- }
- else if( 2 == nVersion )
+ if ( 2 == nVersion )
{
// recall to read as XML
bRet = GallerySvDrawImport( aMemStm, rModel );