summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2015-07-03 18:14:31 +0200
committerJan Holesovsky <kendy@collabora.com>2015-07-03 18:17:46 +0200
commite83cb37cf7546e8bc46d0d49b487dcd352b67093 (patch)
treefa62a70b93bae3cf0766bddd11e63b4e5f8ff307 /desktop
parentc9175a1bd3249ad573ae6827bf19963a3ebe2fbc (diff)
LOK: Don't try to absolutize URL's.
Based on a patch by Henry Castro. Change-Id: Ia7aca20feb8f6095adf7dfe510ed78b1e9882740
Diffstat (limited to 'desktop')
-rw-r--r--desktop/source/lib/init.cxx15
1 files changed, 10 insertions, 5 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index ee47cd864774..3a0ce67af246 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -161,13 +161,18 @@ static OUString getUString(const char* pString)
return OStringToOUString(sString, RTL_TEXTENCODING_UTF8);
}
-// Try to convert a relative URL to an absolute one
+/// Try to convert a relative URL to an absolute one, unless it already looks like an URL.
static OUString getAbsoluteURL(const char* pURL)
{
- OUString aURL( getUString( pURL ) );
+ OUString aURL(getUString(pURL));
+
+ // return unchanged if it likely is an URL already
+ if (aURL.indexOf("://") > 0)
+ return aURL;
+
OUString sAbsoluteDocUrl, sWorkingDir, sDocPathUrl;
- // FIXME: this would appear to kill non-file URLs.
+ // convert relative paths to absolute ones
osl_getProcessWorkingDir(&sWorkingDir.pData);
osl::FileBase::getFileURLFromSystemPath( aURL, sDocPathUrl );
osl::FileBase::getAbsoluteFileURL(sWorkingDir, sDocPathUrl, sAbsoluteDocUrl);
@@ -343,7 +348,7 @@ static LibreOfficeKitDocument* lo_documentLoadWithOptions(LibreOfficeKit* pThis,
SolarMutexGuard aGuard;
- OUString aURL = getAbsoluteURL(pURL);
+ OUString aURL(getAbsoluteURL(pURL));
pLib->maLastExceptionMsg.clear();
@@ -409,7 +414,7 @@ static int doc_saveAs(LibreOfficeKitDocument* pThis, const char* sUrl, const cha
LibLODocument_Impl* pDocument = static_cast<LibLODocument_Impl*>(pThis);
OUString sFormat = getUString(pFormat);
- OUString aURL = getAbsoluteURL(sUrl);
+ OUString aURL(getAbsoluteURL(sUrl));
try
{