From 4c31a0be1d8048bf3340acbb59248185e4b93041 Mon Sep 17 00:00:00 2001 From: Armin Le Grand Date: Fri, 10 Oct 2014 12:50:29 +0000 Subject: Resolves: #i125326# accept CssStyles with missing type attribute (cherry picked from commit bb72d5b3ecbe6a03d3d3dfe101ad67ff4650a9f9) Conflicts: svgio/source/svgreader/svgdocumenthandler.cxx Change-Id: I5395c2cada92d5abcde9f6cc18bc237a58e77992 --- svgio/source/svgreader/svgdocumenthandler.cxx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'svgio') diff --git a/svgio/source/svgreader/svgdocumenthandler.cxx b/svgio/source/svgreader/svgdocumenthandler.cxx index d052e46334e3..1cb1a54af248 100644 --- a/svgio/source/svgreader/svgdocumenthandler.cxx +++ b/svgio/source/svgreader/svgdocumenthandler.cxx @@ -323,10 +323,26 @@ namespace svgio { SvgStyleNode* pNew = new SvgStyleNode(maDocument, mpTarget); mpTarget = pNew; - mpTarget->parseAttributes(xAttribs); + const sal_uInt32 nAttributes(xAttribs->getLength()); + + if(0 == nAttributes) + { + // #i125326# no attributes, thus also no type="text/css". This is allowed to be missing, + // thus do mark this style as CssStyle. This is required to read the contained + // text (which defines the css style) + pNew->setTextCss(true); + } + else + { + // #i125326# there are attributes, read them. This will set isTextCss to true if + // a type="text/css" is contained as exact match, else not + mpTarget->parseAttributes(xAttribs); + } if(pNew->isTextCss()) { + // if it is a Css style, allow reading text between the start and end tag (see + // SvgDocHdl::characters for details) maCssContents.push_back(OUString()); } break; -- cgit