diff options
author | Noel Power <noel.power@suse.com> | 2012-09-20 15:05:00 +0100 |
---|---|---|
committer | Noel Power <noel.power@suse.com> | 2012-09-28 17:27:23 +0100 |
commit | af272c439c252b263dc760169094f528945cd3b3 (patch) | |
tree | 46a1265b70f237c5b7e4ecc5684a18e38a8073b8 /sc/source/filter | |
parent | e74c879c6f9a2d80941c11a4fb57eb9874795349 (diff) |
xlsx fix cyclic referenced defined names partially fixes bnc#780296 bnc#781166
Use scoped_ptr instead of deprecated auto_ptr
Change-Id: I8dcae78d6faab29c3889e97185839d41cbc3e402
Signed-off-by: Kohei Yoshida <kohei.yoshida@gmail.com>
Diffstat (limited to 'sc/source/filter')
-rw-r--r-- | sc/source/filter/oox/defnamesbuffer.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sc/source/filter/oox/defnamesbuffer.cxx b/sc/source/filter/oox/defnamesbuffer.cxx index 4eafab759461..2cf0c00d2476 100644 --- a/sc/source/filter/oox/defnamesbuffer.cxx +++ b/sc/source/filter/oox/defnamesbuffer.cxx @@ -382,9 +382,9 @@ void DefinedName::createNameObject( sal_Int32 nIndex ) // create the name and insert it into the document, maCalcName will be changed to the resulting name if (maModel.mnSheet >= 0) - mpScRangeData = createLocalNamedRangeObject( maCalcName, getTokens(), nIndex, nNameFlags, maModel.mnSheet ); + mpScRangeData = createLocalNamedRangeObject( maCalcName, ApiTokenSequence(), nIndex, nNameFlags, maModel.mnSheet ); else - mpScRangeData = createNamedRangeObject( maCalcName, getTokens(), nIndex, nNameFlags ); + mpScRangeData = createNamedRangeObject( maCalcName, ApiTokenSequence(), nIndex, nNameFlags ); mnTokenIndex = nIndex; } @@ -426,6 +426,15 @@ DefinedName::getTokens() void DefinedName::convertFormula() { + // convert and set formula of the defined name + if ( getFilterType() == FILTER_OOXML ) + { + ApiTokenSequence aTokens = getTokens(); + ScTokenArray aTokenArray; + (void)ScTokenConversion::ConvertToTokenArray( this->getScDocument(), aTokenArray, aTokens ); + mpScRangeData->SetCode( aTokenArray ); + } + ScTokenArray* pTokenArray = mpScRangeData->GetCode(); Sequence< FormulaToken > aFTokenSeq; (void)ScTokenConversion::ConvertToTokenSequence( this->getScDocument(), aFTokenSeq, *pTokenArray ); |