From bffe1113a31bb1f58aafbdba9b50b4232816f2f5 Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Fri, 12 May 2017 16:50:27 +0200 Subject: [PATCH] Use ScTokenArray::AssignXMLString() and ScTokenArray stack object Change-Id: Iac149278019932da7f269d85871c949f6b19f7c2 --- sc/source/ui/docshell/docfunc.cxx | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index b9f4e59de321..06a0030c1aac 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -1154,15 +1154,6 @@ void ScDocFunc::PutData( const ScAddress& rPos, ScEditEngineDefaulter& rEngine, } } -static ScTokenArray* lcl_ScDocFunc_CreateTokenArrayXML( const OUString& rText, const OUString& rFormulaNmsp, const formula::FormulaGrammar::Grammar eGrammar ) -{ - ScTokenArray* pCode = new ScTokenArray; - pCode->AddStringXML( rText ); - if( (eGrammar == formula::FormulaGrammar::GRAM_EXTERNAL) && (!rFormulaNmsp.isEmpty()) ) - pCode->AddStringXML( rFormulaNmsp ); - return pCode; -} - bool ScDocFunc::SetCellText( const ScAddress& rPos, const OUString& rText, bool bInterpret, bool bEnglish, bool bApi, const formula::FormulaGrammar::Grammar eGrammar ) @@ -4160,10 +4151,11 @@ bool ScDocFunc::EnterMatrix( const ScRange& rRange, const ScMarkData* pTabMark, } else if ( rDoc.IsImportingXML() ) { - ScTokenArray* pCode = lcl_ScDocFunc_CreateTokenArrayXML( rString, rFormulaNmsp, eGrammar ); + ScTokenArray aCode; + aCode.AssignXMLString( rString, + ((eGrammar == formula::FormulaGrammar::GRAM_EXTERNAL) ? rFormulaNmsp : OUString())); rDoc.InsertMatrixFormula( nStartCol, nStartRow, nEndCol, nEndRow, - aMark, EMPTY_OUSTRING, pCode, eGrammar); - delete pCode; + aMark, EMPTY_OUSTRING, &aCode, eGrammar); rDoc.IncXMLImportedFormulaCount( rString.getLength() ); } else if (bEnglish)