diff --git a/filter/source/svg/parserfragments.cxx b/filter/source/svg/parserfragments.cxx index 1d9cc85d559f..ec01fdf7da57 100644 --- a/filter/source/svg/parserfragments.cxx +++ b/filter/source/svg/parserfragments.cxx @@ -556,9 +556,9 @@ bool parsePaintUri( std::pair& o_rPaintUri, const bool bRes = parse(sPaintUri, // Begin grammar ( - str_p("url(") >> !( str_p("'") | str_p("\"") ) >> ("#") >> - (+alnum_p)[assign_a(o_rPaintUri)] >> - !( str_p("'") | str_p("\"") ) >> str_p(")") >> + str_p("url(") >> !( str_p("'") ) >> ("#") >> + (+(anychar_p - (str_p("'") | str_p(")"))))[assign_a(o_rPaintUri)] >> + !( str_p("'") ) >> str_p(")") >> *( str_p("none")[assign_a(io_rColor.second,false)] | str_p("currentColor")[assign_a(io_rColor.second,true)] | ColorGrammar(io_rColor.first)