summaryrefslogtreecommitdiff
path: root/sc/source/filter/excel
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-12-12 15:01:02 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-12-12 17:49:02 +0100
commit40b0bd21e87480b659e7ed92854eee385a2a3c55 (patch)
treee71ba92b77eead12445c68c866d7ba71f74e19f5 /sc/source/filter/excel
parent4781ba436f72b5b763833c3c036e7f1c0e4d9e3b (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.cxx12
-rw-r--r--sc/source/filter/excel/excform8.cxx17
-rw-r--r--sc/source/filter/excel/xechart.cxx2
-rw-r--r--sc/source/filter/excel/xeformula.cxx6
-rw-r--r--sc/source/filter/excel/xichart.cxx2
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());
}
}