diff options
author | Tünde Tóth <tundeth@gmail.com> | 2019-07-30 09:29:24 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2019-08-12 10:01:36 +0200 |
commit | b165ac2ab54737a3cf0424584e97cc0b0f565a27 (patch) | |
tree | 4fc5c0ac358edef821ed0103365e81e1039902c7 /writerfilter | |
parent | 4a7d0b87373530d15deb2a5789841940ace31ea1 (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.cxx | 8 |
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); |