Kaydet (Commit) 10579fcd authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Use the document's string pool rather than a separate one for the formula.

Change-Id: Id13bca1ed493328fb0b8a664275af8c98e3f46c8
üst 543dfbad
...@@ -33,7 +33,6 @@ struct FormulaGroupContext : boost::noncopyable ...@@ -33,7 +33,6 @@ struct FormulaGroupContext : boost::noncopyable
typedef boost::ptr_vector<NumArrayType> NumArrayStoreType; typedef boost::ptr_vector<NumArrayType> NumArrayStoreType;
typedef boost::ptr_vector<StrArrayType> StrArrayStoreType; typedef boost::ptr_vector<StrArrayType> StrArrayStoreType;
svl::SharedStringPool maStrPool;
NumArrayStoreType maNumArrays; NumArrayStoreType maNumArrays;
StrArrayStoreType maStrArrays; StrArrayStoreType maStrArrays;
}; };
......
...@@ -2167,11 +2167,11 @@ bool appendDouble( ...@@ -2167,11 +2167,11 @@ bool appendDouble(
} }
bool appendStrings( bool appendStrings(
sc::FormulaGroupContext& rCxt, ScDocument* pDoc, ScDocument* pDoc, sc::FormulaGroupContext::StrArrayType& rArray,
sc::FormulaGroupContext::StrArrayType& rArray, size_t nLen, size_t nLen, sc::CellStoreType::iterator it, const sc::CellStoreType::iterator& itEnd)
sc::CellStoreType::iterator it, const sc::CellStoreType::iterator& itEnd )
{ {
size_t nLenRemain = nLen; size_t nLenRemain = nLen;
svl::SharedStringPool& rPool = pDoc->GetCellStringPool();
for (; it != itEnd; ++it) for (; it != itEnd; ++it)
{ {
...@@ -2194,7 +2194,7 @@ bool appendStrings( ...@@ -2194,7 +2194,7 @@ bool appendStrings(
for (; itData != itDataEnd; ++itData) for (; itData != itDataEnd; ++itData)
{ {
OUString aStr = ScEditUtil::GetString(**itData, pDoc); OUString aStr = ScEditUtil::GetString(**itData, pDoc);
rArray.push_back(rCxt.maStrPool.intern(aStr).getData()); rArray.push_back(rPool.intern(aStr).getData());
} }
} }
break; break;
...@@ -2219,7 +2219,7 @@ bool appendStrings( ...@@ -2219,7 +2219,7 @@ bool appendStrings(
return false; return false;
} }
rArray.push_back(rCxt.maStrPool.intern(aStr).getData()); rArray.push_back(rPool.intern(aStr).getData());
} }
} }
break; break;
...@@ -2380,7 +2380,7 @@ formula::VectorRefArray ScColumn::FetchVectorRefArray( sc::FormulaGroupContext& ...@@ -2380,7 +2380,7 @@ formula::VectorRefArray ScColumn::FetchVectorRefArray( sc::FormulaGroupContext&
// Fill the remaining array with values from the following blocks. // Fill the remaining array with values from the following blocks.
++aPos.first; ++aPos.first;
if (!appendStrings(rCxt, pDocument, rArray, nLenRequested - nLen, aPos.first, maCells.end())) if (!appendStrings(pDocument, rArray, nLenRequested - nLen, aPos.first, maCells.end()))
return formula::VectorRefArray(); return formula::VectorRefArray();
return formula::VectorRefArray(&rArray[0]); return formula::VectorRefArray(&rArray[0]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment