[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - desktop/source

Jan Holesovsky kendy at collabora.com
Fri Jul 3 09:50:29 PDT 2015


 desktop/source/lib/init.cxx |   15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

New commits:
commit fa9b3e8ac49cbf808f54b48a65530acf55a357f1
Author: Jan Holesovsky <kendy at collabora.com>
Date:   Fri Jul 3 18:14:31 2015 +0200

    LOK: Don't try to absolutize URL's.
    
    Based on a patch by Henry Castro.
    
    Change-Id: Ia7aca20feb8f6095adf7dfe510ed78b1e9882740
    Reviewed-on: https://gerrit.libreoffice.org/16743
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 0299431..1457e0f 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
     {


More information about the Libreoffice-commits mailing list