summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2013-10-08 09:14:48 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2013-10-08 15:48:10 -0400
commit10579fcdbfe7873affaecffb09b13fa97a4c6b23 (patch)
tree429ebf91b0f673d4d19be559f057a1001ecb87e8 /sc
parent543dfbad46ae0e67636a92af677dd9c3258fac84 (diff)
Use the document's string pool rather than a separate one for the formula.
Change-Id: Id13bca1ed493328fb0b8a664275af8c98e3f46c8
Diffstat (limited to 'sc')
-rw-r--r--sc/inc/formulagroup.hxx1
-rw-r--r--sc/source/core/data/column2.cxx12
2 files changed, 6 insertions, 7 deletions
diff --git a/sc/inc/formulagroup.hxx b/sc/inc/formulagroup.hxx
index fc3af2a543aa..ca240f718089 100644
--- a/sc/inc/formulagroup.hxx
+++ b/sc/inc/formulagroup.hxx
@@ -33,7 +33,6 @@ struct FormulaGroupContext : boost::noncopyable
typedef boost::ptr_vector<NumArrayType> NumArrayStoreType;
typedef boost::ptr_vector<StrArrayType> StrArrayStoreType;
- svl::SharedStringPool maStrPool;
NumArrayStoreType maNumArrays;
StrArrayStoreType maStrArrays;
};
diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index 35c91531d037..0f13a2635aa5 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -2167,11 +2167,11 @@ bool appendDouble(
}
bool appendStrings(
- sc::FormulaGroupContext& rCxt, ScDocument* pDoc,
- sc::FormulaGroupContext::StrArrayType& rArray, size_t nLen,
- sc::CellStoreType::iterator it, const sc::CellStoreType::iterator& itEnd )
+ ScDocument* pDoc, sc::FormulaGroupContext::StrArrayType& rArray,
+ size_t nLen, sc::CellStoreType::iterator it, const sc::CellStoreType::iterator& itEnd)
{
size_t nLenRemain = nLen;
+ svl::SharedStringPool& rPool = pDoc->GetCellStringPool();
for (; it != itEnd; ++it)
{
@@ -2194,7 +2194,7 @@ bool appendStrings(
for (; itData != itDataEnd; ++itData)
{
OUString aStr = ScEditUtil::GetString(**itData, pDoc);
- rArray.push_back(rCxt.maStrPool.intern(aStr).getData());
+ rArray.push_back(rPool.intern(aStr).getData());
}
}
break;
@@ -2219,7 +2219,7 @@ bool appendStrings(
return false;
}
- rArray.push_back(rCxt.maStrPool.intern(aStr).getData());
+ rArray.push_back(rPool.intern(aStr).getData());
}
}
break;
@@ -2380,7 +2380,7 @@ formula::VectorRefArray ScColumn::FetchVectorRefArray( sc::FormulaGroupContext&
// Fill the remaining array with values from the following blocks.
++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(&rArray[0]);