Resolves: tdf#124251 do not treat internal "URI" as real path URI
Change-Id: I754704b0a979e8449b7ec799cbda58b14ab17098
Reviewed-on: https://gerrit.libreoffice.org/74067
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
index f0a3715..33e4ffb 100644
--- a/sc/source/core/data/global.cxx
+++ b/sc/source/core/data/global.cxx
@@ -812,7 +812,14 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget)
}
// Don't fiddle with fragments pointing into current document.
if (!aUrlName.startsWith("#"))
// Also don't mess around with a vnd.sun.star.script or service or other
// internal "URI".
if (!aUrlName.startsWith("#")
&& !aUrlName.startsWithIgnoreAsciiCase("vnd.sun.star.script:")
&& !aUrlName.startsWithIgnoreAsciiCase("macro:")
&& !aUrlName.startsWithIgnoreAsciiCase("slot:")
&& !aUrlName.startsWithIgnoreAsciiCase("service:")
&& !aUrlName.startsWithIgnoreAsciiCase(".uno:"))
{
// Any relative reference would fail with "not an absolute URL"
// error, try to construct an absolute URI with the path relative