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

Reply via email to