starmath: Avoid temporary arrays

Change-Id: I5ebb0acd1e6a808f3341d9b18a4a8e87b0679c5d
Reviewed-on: https://gerrit.libreoffice.org/28068
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
This commit is contained in:
Takeshi Abe
2016-08-12 17:44:40 +09:00
parent e22fc8076f
commit 93eb0896bc
2 changed files with 5 additions and 9 deletions

View File

@@ -2082,15 +2082,13 @@ SvXMLImportContext *SmXMLDocContext_Impl::CreateChildContext(
void SmXMLDocContext_Impl::EndElement() void SmXMLDocContext_Impl::EndElement()
{ {
SmNodeArray ContextArray;
ContextArray.resize(1);
SmNodeStack &rNodeStack = GetSmImport().GetNodeStack(); SmNodeStack &rNodeStack = GetSmImport().GetNodeStack();
ContextArray[0] = popOrZero(rNodeStack); SmNode *pContextNode = popOrZero(rNodeStack);
SmToken aDummy; SmToken aDummy;
std::unique_ptr<SmStructureNode> pSNode(new SmLineNode(aDummy)); std::unique_ptr<SmStructureNode> pSNode(new SmLineNode(aDummy));
pSNode->SetSubNodes(ContextArray); pSNode->SetSubNodes(pContextNode, nullptr);
rNodeStack.push_front(std::move(pSNode)); rNodeStack.push_front(std::move(pSNode));
SmNodeArray LineArray; SmNodeArray LineArray;

View File

@@ -2138,11 +2138,9 @@ void SmParser::DoBinom()
DoSum(); DoSum();
DoSum(); DoSum();
SmNodeArray ExpressionArray(2); SmNode *pSecond = popOrZero(m_aNodeStack);
ExpressionArray[1] = popOrZero(m_aNodeStack); SmNode *pFirst = popOrZero(m_aNodeStack);
ExpressionArray[0] = popOrZero(m_aNodeStack); pSNode->SetSubNodes(pFirst, pSecond);
pSNode->SetSubNodes(ExpressionArray);
m_aNodeStack.push_front(std::move(pSNode)); m_aNodeStack.push_front(std::move(pSNode));
} }