[Libreoffice-commits] core.git: starmath/source
Frédéric Wang
fred.wang at free.fr
Thu Jul 4 08:00:54 PDT 2013
starmath/source/mathmlexport.cxx | 9 +++++++--
starmath/source/parse.cxx | 2 +-
2 files changed, 8 insertions(+), 3 deletions(-)
New commits:
commit 75032fde426c781aea0af24eb9b9f6432a6bc9bb
Author: Frédéric Wang <fred.wang at free.fr>
Date: Thu Jul 4 10:57:35 2013 +0200
fdo#66575 - MathML export: fix errors with newline, binom and stack.
Change-Id: I6c66864381a6a5b7415e9fae682e50865b3f76db
Reviewed-on: https://gerrit.libreoffice.org/4712
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/starmath/source/mathmlexport.cxx b/starmath/source/mathmlexport.cxx
index 12f7f5a..2c9474e 100644
--- a/starmath/source/mathmlexport.cxx
+++ b/starmath/source/mathmlexport.cxx
@@ -868,8 +868,13 @@ void SmXMLExport::ExportTable(const SmNode *pNode, int nLevel)
//no subnodes, the newline is superfulous so we just drop
//the last node, inclusion would create a bad MathML
//table
- if (nSize >= 1 && pNode->GetSubNode(nSize-1)->GetNumSubNodes() == 0)
- --nSize;
+ if (nSize >= 1)
+ {
+ const SmNode *pLine = pNode->GetSubNode(nSize-1);
+ if (pLine->GetType() == NLINE && pLine->GetNumSubNodes() > 0 &&
+ pLine->GetSubNode(0)->GetToken().eType == TEND)
+ --nSize;
+ }
// try to avoid creating a mtable element when the formula consists only
// of a single output line
diff --git a/starmath/source/parse.cxx b/starmath/source/parse.cxx
index 5929447..e532591 100644
--- a/starmath/source/parse.cxx
+++ b/starmath/source/parse.cxx
@@ -1072,7 +1072,7 @@ void SmParser::Line()
//this is to avoid a formula tree without any caret
//positions, in visual formula editor.
if(ExpressionArray.empty())
- ExpressionArray.push_back(new SmExpressionNode(SmToken()));
+ ExpressionArray.push_back(new SmExpressionNode(m_aCurToken));
SmStructureNode *pSNode = new SmLineNode(m_aCurToken);
pSNode->SetSubNodes(ExpressionArray);
More information about the Libreoffice-commits
mailing list