oox/source/vml/vmlinputstream.cxx | 6 ++++++ sc/qa/unit/data/xlsx/tdf120301_xmlSpaceParsing.xlsx |binary 2 files changed, 6 insertions(+)
New commits: commit 32efd4529aba776eca9456e96656d542267874f3 Author: Justin Luth <justin.l...@collabora.com> AuthorDate: Wed Oct 30 11:11:45 2019 +0300 Commit: Justin Luth <justin_l...@sil.org> CommitDate: Thu Oct 31 04:32:49 2019 +0100 tdf#128447 sc/vml: accept <? ?> xml prolog ... or processing instruction, or text directive. The inability to parse this was exposed in LO 6.2 with commit 2cae2ecfef47d8dd10647c10f9577392c1887d3a I added <?xml version="1.0" encoding="UTF-8" standalone="yes"?> to the top of vmlDrawing1.vml from the unit test, which invalidates the entire .vml file and the two controls are lost without this fix. Change-Id: Ia1e6d5f9bb932756f70dca59fa8b32004c9e8013 Reviewed-on: https://gerrit.libreoffice.org/81730 Reviewed-by: Michael Stahl <michael.st...@cib.de> Tested-by: Jenkins diff --git a/oox/source/vml/vmlinputstream.cxx b/oox/source/vml/vmlinputstream.cxx index 215eff35f621..2fc17ee84ea7 100644 --- a/oox/source/vml/vmlinputstream.cxx +++ b/oox/source/vml/vmlinputstream.cxx @@ -169,6 +169,12 @@ void lclProcessElement( OStringBuffer& rBuffer, const OString& rElement ) // do nothing } + // just append any xml prolog (text directive) or processing instructions: <?...?> + else if( (nElementLen >= 4) && (pcOpen[ 1 ] == '?') && (pcClose[ -1 ] == '?') ) + { + rBuffer.append( rElement ); + } + // replace '<br>' element with newline else if( (nElementLen >= 4) && (pcOpen[ 1 ] == 'b') && (pcOpen[ 2 ] == 'r') && (lclFindNonWhiteSpace( pcOpen + 3, pcClose ) == pcClose) ) { diff --git a/sc/qa/unit/data/xlsx/tdf120301_xmlSpaceParsing.xlsx b/sc/qa/unit/data/xlsx/tdf120301_xmlSpaceParsing.xlsx index 0677a0cf2eb2..b28c4dd71643 100644 Binary files a/sc/qa/unit/data/xlsx/tdf120301_xmlSpaceParsing.xlsx and b/sc/qa/unit/data/xlsx/tdf120301_xmlSpaceParsing.xlsx differ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits