summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorTünde Tóth <tundeth@gmail.com>2019-07-30 09:29:24 +0200
committerMiklos Vajna <vmiklos@collabora.com>2019-08-12 10:01:36 +0200
commitb165ac2ab54737a3cf0424584e97cc0b0f565a27 (patch)
tree4fc5c0ac358edef821ed0103365e81e1039902c7 /writerfilter
parent4a7d0b87373530d15deb2a5789841940ace31ea1 (diff)
tdf#126590 DOCX import: fix absolute hyperlinks to documents
Absolute links in DOCX documents created with Word didn't work. Change-Id: Ie23c9ded1c88752768b925ec26df3061beeddd8e Reviewed-on: https://gerrit.libreoffice.org/76581 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/77191
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index fbfffe1b2317..74591334637a 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -4493,10 +4493,16 @@ void DomainMapper_Impl::CloseFieldCommand()
if (!sURL.isEmpty())
{
+ if (sURL.startsWith("file:///"))
+ {
+ // file:///absolute\path\to\file => invalid file URI (Writer cannot open)
+ // convert all blackslashes to slashes:
+ sURL = sURL.replace('\\', '/');
+ }
// Try to make absolute any relative URLs, except
// for relative same-document URLs that only contain
// a fragment part:
- if (!sURL.startsWith("#") && !m_aSaveOpt.IsSaveRelFSys()) {
+ else if (!sURL.startsWith("#") && !m_aSaveOpt.IsSaveRelFSys()) {
try {
sURL = rtl::Uri::convertRelToAbs(
m_aBaseUrl, sURL);