summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-05-23 17:17:09 +0200
committerCaolán McNamara <caolanm@redhat.com>2013-05-24 19:29:45 +0000
commite2cbb5eea18c419a162f5c18fe5df617cd57db27 (patch)
treede6a94905012935ab7a09c658428b147b2150c43
parentb14f6849f297406e9308576d2a5ad22d295cc125 (diff)
rhbz#961460: Don't needlessly pass URLs through INetURLObject
The WebDAV UCP uses https/davs URLs that may contain a userinfo (cf. RFC 3986) part, and INetURLObject does not support that (in accordance with RFCs 2818 and 2616) and thus creates an empty INET_PROT_NOT_VALID INetURLObject for such a URL, leading to failure when trying to save a document to such a URL. (Regression introduced with 966d20e35d5a2be2fce6c204af5c156c3ead7063 "CMIS ucp: write documents back to CMIS server.") (cherry picked from commit 3f5c45b70864af95a6362acf4684fb57eb85e348) Conflicts: sfx2/source/doc/docfile.cxx Change-Id: Ifd396852b211cab1d29575da7fccb32306479f93 Reviewed-on: https://gerrit.libreoffice.org/4021 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sfx2/source/doc/docfile.cxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 6271acd84493..563d809094ea 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -1956,8 +1956,11 @@ void SfxMedium::Transfer_Impl()
}
}
- if ( !sParentUrl.isEmpty() )
- aDest = INetURLObject( sParentUrl );
+ if ( sParentUrl.isEmpty() )
+ aDestURL = aDest.GetMainURL( INetURLObject::NO_DECODE );
+ // adjust to above aDest.removeSegment()
+ else
+ aDestURL = sParentUrl;
// LongName wasn't defined anywhere, only used here... get the Title instead
// as it's less probably empty
@@ -1969,7 +1972,7 @@ void SfxMedium::Transfer_Impl()
try
{
- aTransferContent = ::ucbhelper::Content( aDest.GetMainURL( INetURLObject::NO_DECODE ), xComEnv );
+ aTransferContent = ::ucbhelper::Content( aDestURL, xComEnv );
}
catch (const ::com::sun::star::ucb::ContentCreationException& ex)
{