[PATCH libreoffice-4-0] rhbz#961460: Don't needlessly pass URLs through INetURLObjec...
Stephan Bergmann (via Code Review)
gerrit at gerrit.libreoffice.org
Fri May 24 00:22:37 PDT 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/4019
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/19/4019/1
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.")
Change-Id: Ifd396852b211cab1d29575da7fccb32306479f93
(cherry picked from commit 3f5c45b70864af95a6362acf4684fb57eb85e348)
---
M sfx2/source/doc/docfile.cxx
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 3ce8ab7..d08f3fc 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -1936,6 +1936,7 @@
::ucbhelper::Content aDestContent;
::ucbhelper::Content::create( aDestURL, xComEnv, comphelper::getProcessComponentContext(), aDestContent );
+ // For checkin, we need the object URL, not the parent folder:
if ( !IsInCheckIn( ) )
{
// Get the parent URL from the XChild if possible: why would the URL necessarily have
@@ -1951,13 +1952,11 @@
}
}
- if ( !sParentUrl.isEmpty() )
- aDest = INetURLObject( sParentUrl );
- }
- else
- {
- // For checkin, we need the object URL, not the parent folder
- aDest = INetURLObject( aDestURL );
+ 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
@@ -1970,7 +1969,7 @@
try
{
- aTransferContent = ::ucbhelper::Content( aDest.GetMainURL( INetURLObject::NO_DECODE ), xComEnv, comphelper::getProcessComponentContext() );
+ aTransferContent = ::ucbhelper::Content( aDestURL, xComEnv, comphelper::getProcessComponentContext() );
}
catch (const ::com::sun::star::ucb::ContentCreationException& ex)
{
--
To view, visit https://gerrit.libreoffice.org/4019
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifd396852b211cab1d29575da7fccb32306479f93
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: libreoffice-4-0
Gerrit-Owner: Stephan Bergmann <sbergman at redhat.com>
More information about the LibreOffice
mailing list