diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-12-12 15:01:02 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-12-12 17:49:02 +0100 |
commit | 40b0bd21e87480b659e7ed92854eee385a2a3c55 (patch) | |
tree | e71ba92b77eead12445c68c866d7ba71f74e19f5 /sc/source/filter/excel | |
parent | 4781ba436f72b5b763833c3c036e7f1c0e4d9e3b (diff) |
sc: rowcol: tdf#50916 pass ScDocument to the token classes
needed to create a fake ScDocument for the external ref manager, since
it has no ScDocument at all
Change-Id: Ia786ac291133e3c438694e81ecfb2590729a853d
Reviewed-on: https://gerrit.libreoffice.org/85050
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc/source/filter/excel')
-rw-r--r-- | sc/source/filter/excel/excform.cxx | 12 | ||||
-rw-r--r-- | sc/source/filter/excel/excform8.cxx | 17 | ||||
-rw-r--r-- | sc/source/filter/excel/xechart.cxx | 2 | ||||
-rw-r--r-- | sc/source/filter/excel/xeformula.cxx | 6 | ||||
-rw-r--r-- | sc/source/filter/excel/xichart.cxx | 2 |
5 files changed, 20 insertions, 19 deletions
diff --git a/sc/source/filter/excel/excform.cxx b/sc/source/filter/excel/excform.cxx index a8397ee17607..6dbb629fc7c7 100644 --- a/sc/source/filter/excel/excform.cxx +++ b/sc/source/filter/excel/excform.cxx @@ -197,7 +197,7 @@ std::unique_ptr<ScTokenArray> ExcelToSc::GetDummy() { aPool.Store( "Dummy()" ); aPool >> aStack; - return aPool.GetTokenArray( aStack.Get()); + return aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); } // if bAllowArrays is false stream seeks to first byte after <nFormulaLen> @@ -223,7 +223,7 @@ ConvErr ExcelToSc::Convert( std::unique_ptr<ScTokenArray>& pResult, XclImpStream { aPool.Store( "-/-" ); aPool >> aStack; - pResult = aPool.GetTokenArray( aStack.Get()); + pResult = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); return ConvErr::OK; } @@ -860,14 +860,14 @@ ConvErr ExcelToSc::Convert( std::unique_ptr<ScTokenArray>& pResult, XclImpStream { aPool << ocBad; aPool >> aStack; - pResult = aPool.GetTokenArray( aStack.Get()); + pResult = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); eRet = ConvErr::Ni; } else if( aIn.GetRecPos() != nEndPos ) { aPool << ocBad; aPool >> aStack; - pResult = aPool.GetTokenArray( aStack.Get()); + pResult = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); eRet = ConvErr::Count; } else if( bArrayFormula ) @@ -877,7 +877,7 @@ ConvErr ExcelToSc::Convert( std::unique_ptr<ScTokenArray>& pResult, XclImpStream } else { - pResult = aPool.GetTokenArray( aStack.Get()); + pResult = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); eRet = ConvErr::OK; } @@ -1692,7 +1692,7 @@ std::unique_ptr<ScTokenArray> ExcelToSc::GetBoolErr( XclBoolError eType ) aPool >> aStack; - std::unique_ptr<ScTokenArray> pResult = aPool.GetTokenArray( aStack.Get()); + std::unique_ptr<ScTokenArray> pResult = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); if( nError != FormulaError::NONE ) pResult->SetCodeError( nError ); diff --git a/sc/source/filter/excel/excform8.cxx b/sc/source/filter/excel/excform8.cxx index 8c9d0f7191ec..beee318fcd0c 100644 --- a/sc/source/filter/excel/excform8.cxx +++ b/sc/source/filter/excel/excform8.cxx @@ -20,6 +20,7 @@ #include <excform.hxx> #include <document.hxx> +#include <documentimport.hxx> #include <xltracer.hxx> #include <xistream.hxx> #include <xihelper.hxx> @@ -151,7 +152,7 @@ ConvErr ExcelToSc8::Convert( std::unique_ptr<ScTokenArray>& rpTokArray, XclImpSt { aPool.Store( "-/-" ); aPool >> aStack; - rpTokArray = aPool.GetTokenArray( aStack.Get()); + rpTokArray = aPool.GetTokenArray(&GetDocImport().getDoc(), aStack.Get()); return ConvErr::OK; } @@ -914,14 +915,14 @@ ConvErr ExcelToSc8::Convert( std::unique_ptr<ScTokenArray>& rpTokArray, XclImpSt { aPool << ocBad; aPool >> aStack; - rpTokArray = aPool.GetTokenArray( aStack.Get()); + rpTokArray = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); eRet = ConvErr::Ni; } else if( aIn.GetRecPos() != nEndPos ) { aPool << ocBad; aPool >> aStack; - rpTokArray = aPool.GetTokenArray( aStack.Get()); + rpTokArray = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); eRet = ConvErr::Count; } else if( bArrayFormula ) @@ -931,7 +932,7 @@ ConvErr ExcelToSc8::Convert( std::unique_ptr<ScTokenArray>& rpTokArray, XclImpSt } else { - rpTokArray = aPool.GetTokenArray( aStack.Get()); + rpTokArray = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); eRet = ConvErr::OK; } @@ -1298,7 +1299,7 @@ void ExcelToSc8::ConvertExternName( std::unique_ptr<ScTokenArray>& rpArray, XclI { aPool.Store("-/-"); aPool >> aStack; - rpArray = aPool.GetTokenArray( aStack.Get()); + rpArray = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); return; } @@ -1414,17 +1415,17 @@ void ExcelToSc8::ConvertExternName( std::unique_ptr<ScTokenArray>& rpArray, XclI { aPool << ocBad; aPool >> aStack; - rpArray = aPool.GetTokenArray( aStack.Get()); + rpArray = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); } else if( rStrm.GetRecPos() != nEndPos ) { aPool << ocBad; aPool >> aStack; - rpArray = aPool.GetTokenArray( aStack.Get()); + rpArray = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); } else { - rpArray = aPool.GetTokenArray( aStack.Get()); + rpArray = aPool.GetTokenArray( &GetDocImport().getDoc(), aStack.Get()); } rStrm.Seek(nEndPos); diff --git a/sc/source/filter/excel/xechart.cxx b/sc/source/filter/excel/xechart.cxx index eab70437bcef..f42e9f96b770 100644 --- a/sc/source/filter/excel/xechart.cxx +++ b/sc/source/filter/excel/xechart.cxx @@ -896,7 +896,7 @@ sal_uInt16 XclExpChSourceLink::ConvertDataSequence( Reference< XDataSequence > c if( !pArray ) return nDefCount; - ScTokenArray aArray; + ScTokenArray aArray(&GetRoot().GetDoc()); sal_uInt32 nValueCount = 0; FormulaTokenArrayPlainIterator aIter(*pArray); for( const FormulaToken* pToken = aIter.First(); pToken; pToken = aIter.Next() ) diff --git a/sc/source/filter/excel/xeformula.cxx b/sc/source/filter/excel/xeformula.cxx index 314794dcd426..2f24b1b2c723 100644 --- a/sc/source/filter/excel/xeformula.cxx +++ b/sc/source/filter/excel/xeformula.cxx @@ -2614,14 +2614,14 @@ XclTokenArrayRef XclExpFormulaCompiler::CreateFormula( XclTokenArrayRef XclExpFormulaCompiler::CreateFormula( XclFormulaType eType, const ScAddress& rScPos ) { - ScTokenArray aScTokArr; + ScTokenArray aScTokArr(&GetRoot().GetDoc()); lclPutCellToTokenArray( aScTokArr, rScPos, GetCurrScTab(), mxImpl->Is3DRefOnly( eType ) ); return mxImpl->CreateFormula( eType, aScTokArr ); } XclTokenArrayRef XclExpFormulaCompiler::CreateFormula( XclFormulaType eType, const ScRange& rScRange ) { - ScTokenArray aScTokArr; + ScTokenArray aScTokArr(&GetRoot().GetDoc()); lclPutRangeToTokenArray( aScTokArr, rScRange, GetCurrScTab(), mxImpl->Is3DRefOnly( eType ) ); return mxImpl->CreateFormula( eType, aScTokArr ); } @@ -2632,7 +2632,7 @@ XclTokenArrayRef XclExpFormulaCompiler::CreateFormula( XclFormulaType eType, con if( nCount == 0 ) return XclTokenArrayRef(); - ScTokenArray aScTokArr; + ScTokenArray aScTokArr(&GetRoot().GetDoc()); SCTAB nCurrScTab = GetCurrScTab(); bool b3DRefOnly = mxImpl->Is3DRefOnly( eType ); for( size_t nIdx = 0; nIdx < nCount; ++nIdx ) diff --git a/sc/source/filter/excel/xichart.cxx b/sc/source/filter/excel/xichart.cxx index 4c4354233f51..4f78956a9d7f 100644 --- a/sc/source/filter/excel/xichart.cxx +++ b/sc/source/filter/excel/xichart.cxx @@ -904,7 +904,7 @@ void XclImpChSourceLink::FillSourceLink( ::std::vector< ScTokenRef >& rTokens ) ScTokenRef pToken(p->Clone()); if (ScRefTokenHelper::isRef(pToken)) // This is a reference token. Store it. - ScRefTokenHelper::join(rTokens, pToken, ScAddress()); + ScRefTokenHelper::join(&GetRoot().GetDoc(), rTokens, pToken, ScAddress()); } } |