diff options
author | Eike Rathke <erack@redhat.com> | 2015-03-26 20:54:16 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-03-26 21:01:29 +0100 |
commit | 4dfa19d61331bab284e188422fbc95baf814b602 (patch) | |
tree | 070df12107bd0a240852c98238d8dc3764985519 | |
parent | a62d7f3b08b413d17e650279110ab8a48c419b18 (diff) |
Revert "tdf#89319 remove redundant file seekings in XLS export"
As the crash tests have shown, the assert introduced with
71b630e5b683b3761af9d6bdce56f13f20da84c1 to force verification of the
assumption made in 8e2293e06adba3f22e824acad99983fb5b997e4d was hit in
120 documents.
Citing from https://gerrit.libreoffice.org/#/c/14427/ comment:
"The assumptions behind this patch are wrong. This only works if every
single part of the export goes through StartRecord/EndRecord calls. We
have some features that don't use that and need the STREAM_SEEK_TO_END
in the beginning of the StartRecord."
Revert "replace an OSL_ENSURE() with assert(), tdf#89319 related"
This reverts commit 71b630e5b683b3761af9d6bdce56f13f20da84c1.
Revert "tdf#89319 remove redundant file seekings in XLS export"
This reverts commit 8e2293e06adba3f22e824acad99983fb5b997e4d.
-rw-r--r-- | sc/source/filter/excel/xestream.cxx | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx index 36c4d799f491..9fdadd2e6401 100644 --- a/sc/source/filter/excel/xestream.cxx +++ b/sc/source/filter/excel/xestream.cxx @@ -109,8 +109,6 @@ void XclExpStream::StartRecord( sal_uInt16 nRecId, sal_Size nRecSize ) DisableEncryption(); mnMaxContSize = mnCurrMaxSize = mnMaxRecSize; mnPredictSize = nRecSize; - if ( mbInRec ) - mrStrm.Seek( STREAM_SEEK_TO_END ); mbInRec = true; InitRecord( nRecId ); SetSliceSize( 0 ); @@ -382,7 +380,7 @@ sal_uInt64 XclExpStream::SetSvStreamPos(sal_uInt64 const nPos) void XclExpStream::InitRecord( sal_uInt16 nRecId ) { - assert(mrStrm.remainingSize() == 0); // stream must be at end position + mrStrm.Seek( STREAM_SEEK_TO_END ); mrStrm.WriteUInt16( nRecId ); mnLastSizePos = mrStrm.Tell(); @@ -419,7 +417,6 @@ void XclExpStream::StartContinue() UpdateRecSize(); mnCurrMaxSize = mnMaxContSize; mnPredictSize -= mnCurrSize; - mrStrm.Seek( STREAM_SEEK_TO_END ); InitRecord( EXC_ID_CONT ); } |