Revert "tdf#89319 remove redundant file seekings in XLS export"
As the crash tests have shown, the assert introduced with71b630e5b6
to force verification of the assumption made in8e2293e06a
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 commit71b630e5b6
. Revert "tdf#89319 remove redundant file seekings in XLS export" This reverts commit8e2293e06a
.
This commit is contained in:
@@ -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 );
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user