diff options
author | Armin Le Grand <alg@apache.org> | 2014-10-10 12:50:29 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-10-13 17:25:39 +0100 |
commit | 4c31a0be1d8048bf3340acbb59248185e4b93041 (patch) | |
tree | 5b4979cf2b51891e75508bed93ab90121497ad7b /svgio | |
parent | 4be799fc8236dff1038e84dc522f6cac9f834cb7 (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.cxx | 18 |
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; |