[Libreoffice-commits] core.git: sc/source

Eike Rathke erack at redhat.com
Thu Mar 26 13:02:02 PDT 2015


 sc/source/filter/excel/xestream.cxx |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

New commits:
commit 4dfa19d61331bab284e188422fbc95baf814b602
Author: Eike Rathke <erack at redhat.com>
Date:   Thu Mar 26 20:54:16 2015 +0100

    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.

diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index 36c4d79..9fdadd2 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 );
 }
 


More information about the Libreoffice-commits mailing list