summaryrefslogtreecommitdiff
path: root/sc/source/filter
diff options
context:
space:
mode:
authorNoel Power <noel.power@suse.com>2012-09-20 15:05:00 +0100
committerNoel Power <noel.power@suse.com>2012-09-28 17:27:23 +0100
commitaf272c439c252b263dc760169094f528945cd3b3 (patch)
tree46a1265b70f237c5b7e4ecc5684a18e38a8073b8 /sc/source/filter
parente74c879c6f9a2d80941c11a4fb57eb9874795349 (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.cxx13
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 );