diff options
author | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2019-03-04 09:38:02 +0100 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2019-03-10 01:22:33 +0100 |
commit | 983a20bd8888fbd51675e32946bb0c73a2a40ea4 (patch) | |
tree | fe165e7cb9abc5ed5db022b8920dcb4e4cb6fdb8 /filter/source | |
parent | d4c6057486f9667e82d7d4810bb2d421071b0eb2 (diff) |
Check svg URLs before exporting
Reviewed-on: https://gerrit.libreoffice.org/68668
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
(cherry picked from commit 34ec46571701d639d9bc542b2d19f87a21a83648)
Change-Id: I3b86b6b82318b0d201c3d7db516664520eb47bed
Reviewed-on: https://gerrit.libreoffice.org/68733
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'filter/source')
-rw-r--r-- | filter/source/svg/svgexport.cxx | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index 16d43eb24eb3..822d50be0e4a 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -46,6 +46,7 @@ #include <comphelper/sequenceashashmap.hxx> #include <i18nlangtag/lang.h> #include <svl/zforlist.hxx> +#include <tools/urlobj.hxx> #include <unotools/ucbstreamhelper.hxx> #include <xmloff/unointerfacetouniqueidentifiermapper.hxx> #include <xmloff/nmspmap.hxx> @@ -1809,13 +1810,18 @@ bool SVGFilter::implExportShape( const Reference< css::drawing::XShape >& rxShap if( !aBookmark.isEmpty() ) { - mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "xlink:href", aBookmark); - SvXMLElementExport alinkA( *mpSVGExport, XML_NAMESPACE_NONE, "a", true, true ); - mpSVGWriter->WriteMetaFile( aTopLeft, aSize, rMtf, - 0xffffffff, - pElementId, - &rxShape, - pEmbeddedBitmapsMtf ); + INetURLObject aINetURLObject(aBookmark); + if (!aINetURLObject.HasError() + && aINetURLObject.GetProtocol() != INetProtocol::Javascript) + { + mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "xlink:href", aBookmark); + SvXMLElementExport alinkA( *mpSVGExport, XML_NAMESPACE_NONE, "a", true, true ); + mpSVGWriter->WriteMetaFile( aTopLeft, aSize, rMtf, + 0xffffffff, + pElementId, + &rxShape, + pEmbeddedBitmapsMtf ); + } } else { |