summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/inc/tokenarray.hxx1
-rw-r--r--sc/source/core/tool/token.cxx6
-rw-r--r--sc/source/filter/inc/tokstack.hxx2
3 files changed, 8 insertions, 1 deletions
diff --git a/sc/inc/tokenarray.hxx b/sc/inc/tokenarray.hxx
index 40687455bac9..0d3fa0245f50 100644
--- a/sc/inc/tokenarray.hxx
+++ b/sc/inc/tokenarray.hxx
@@ -58,6 +58,7 @@ public:
/// Assignment with references to FormulaToken entries (not copied!)
ScTokenArray( const ScTokenArray& );
virtual ~ScTokenArray();
+ void ClearScTokenArray();
ScTokenArray* Clone() const; /// True copy!
// An estimate of the number of cells referenced by the token array
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index 55a060135cb7..203f3783f31e 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -1651,6 +1651,12 @@ ScTokenArray& ScTokenArray::operator=( const ScTokenArray& rArr )
return *this;
}
+void ScTokenArray::ClearScTokenArray()
+{
+ Clear();
+ meVectorState = FormulaVectorEnabled;
+}
+
ScTokenArray* ScTokenArray::Clone() const
{
ScTokenArray* p = new ScTokenArray();
diff --git a/sc/source/filter/inc/tokstack.hxx b/sc/source/filter/inc/tokstack.hxx
index 7513d481b178..9e458d7b0730 100644
--- a/sc/source/filter/inc/tokstack.hxx
+++ b/sc/source/filter/inc/tokstack.hxx
@@ -362,7 +362,7 @@ inline const TokenId TokenPool::LastId( void ) const
const inline ScTokenArray* TokenPool::operator []( const TokenId& rId )
{
- pScToken->Clear();
+ pScToken->ClearScTokenArray();
if( rId )
{//...only if rId > 0!