summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-03-26 20:54:16 +0100
committerEike Rathke <erack@redhat.com>2015-03-26 21:01:29 +0100
commit4dfa19d61331bab284e188422fbc95baf814b602 (patch)
tree070df12107bd0a240852c98238d8dc3764985519
parenta62d7f3b08b413d17e650279110ab8a48c419b18 (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.cxx5
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 );
}