summaryrefslogtreecommitdiff
path: root/svgio
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2014-10-10 12:50:29 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-10-13 17:25:39 +0100
commit4c31a0be1d8048bf3340acbb59248185e4b93041 (patch)
tree5b4979cf2b51891e75508bed93ab90121497ad7b /svgio
parent4be799fc8236dff1038e84dc522f6cac9f834cb7 (diff)
Resolves: #i125326# accept CssStyles with missing type attribute
(cherry picked from commit bb72d5b3ecbe6a03d3d3dfe101ad67ff4650a9f9) Conflicts: svgio/source/svgreader/svgdocumenthandler.cxx Change-Id: I5395c2cada92d5abcde9f6cc18bc237a58e77992
Diffstat (limited to 'svgio')
-rw-r--r--svgio/source/svgreader/svgdocumenthandler.cxx18
1 files changed, 17 insertions, 1 deletions
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;