diff options
-rw-r--r-- | sc/inc/tokenarray.hxx | 1 | ||||
-rw-r--r-- | sc/source/core/tool/token.cxx | 6 | ||||
-rw-r--r-- | sc/source/filter/inc/tokstack.hxx | 2 |
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! |