starmath/qa/extras/mmlimport-test.cxx | 2 +- starmath/source/mathmlimport.cxx | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-)
New commits: commit 66a953bf3aa6cb1abd55380d846accd68981537a Author: Regina Henschel <[email protected]> Date: Sat May 21 21:32:47 2016 +0200 tdf#99984 render inferred mrow as group {} In case an element has no content, but has got an SmXMLRowContext, an empty group {} is inserted. The result is, that empty table cells are rendered without error, so that files, which use a mtable element to arrange things, no longer break on import. Change-Id: Iae158226e6478f2f9f397b8485044860ee8767c2 Reviewed-on: https://gerrit.libreoffice.org/25273 Tested-by: Jenkins <[email protected]> Reviewed-by: jan iversen <[email protected]> diff --git a/starmath/qa/extras/mmlimport-test.cxx b/starmath/qa/extras/mmlimport-test.cxx index f9f1405..846ea87 100644 --- a/starmath/qa/extras/mmlimport-test.cxx +++ b/starmath/qa/extras/mmlimport-test.cxx @@ -108,7 +108,7 @@ void Test::testMaction() void Test::testtdf99556() { loadURL(m_directories.getURLFromSrc("starmath/qa/extras/data/tdf99556-1.mml")); - OUString sExpected("sqrt"); + OUString sExpected("sqrt { {} }"); CPPUNIT_ASSERT_EQUAL_MESSAGE("loaded text", sExpected, mxDocShell->GetText()); } diff --git a/starmath/source/mathmlimport.cxx b/starmath/source/mathmlimport.cxx index 971d349..5be0526 100644 --- a/starmath/source/mathmlimport.cxx +++ b/starmath/source/mathmlimport.cxx @@ -2249,14 +2249,25 @@ void SmXMLRowContext_Impl::EndElement() return; } } - else //Multiple newlines result in empty row elements + else { - aRelationArray.resize(1); + // The elements msqrt, mstyle, merror, menclose, mpadded, mphantom, mtd, and math + // treat their content as a single inferred mrow in case their content is empty. + // Here an empty group {} is used to catch those cases and transform them without error + // to StarMath. + aRelationArray.resize(2); SmToken aToken; - aToken.cMathChar = '\0'; + aToken.cMathChar = MS_LBRACE; aToken.nLevel = 5; - aToken.eType = TNEWLINE; + aToken.eType = TLGROUP; + aToken.aText = "{"; aRelationArray[0] = new SmLineNode(aToken); + + aToken.cMathChar = MS_RBRACE; + aToken.nLevel = 0; + aToken.eType = TRGROUP; + aToken.aText = "}"; + aRelationArray[1] = new SmLineNode(aToken); } SmToken aDummy; _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
