summaryrefslogtreecommitdiff
path: root/ucb
diff options
context:
space:
mode:
authorGiuseppe Castagno <giuseppe.castagno@acca-esse.eu>2016-08-03 19:42:27 +0200
committerGiuseppe Castagno <giuseppe.castagno@acca-esse.eu>2016-08-03 18:29:59 +0000
commitd14977d33bc3edb6a2c41db4d685d099bfe8d51e (patch)
tree41411fcde9d7290f45f4d507446874647cc29f62 /ucb
parent9460d24883067160c53b53a018a88298131908da (diff)
tdf#101094 (20) OPTIONS: Check for Class1 DAV before unlock
Change-Id: I890a44bb98577de006355d8394d46baeeaadb13f Reviewed-on: https://gerrit.libreoffice.org/27837 Tested-by: Giuseppe Castagno <giuseppe.castagno@acca-esse.eu> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Giuseppe Castagno <giuseppe.castagno@acca-esse.eu>
Diffstat (limited to 'ucb')
-rw-r--r--ucb/source/ucp/webdav-neon/webdavcontent.cxx16
1 files changed, 12 insertions, 4 deletions
diff --git a/ucb/source/ucp/webdav-neon/webdavcontent.cxx b/ucb/source/ucp/webdav-neon/webdavcontent.cxx
index 14642810bc0b..d86286b16116 100644
--- a/ucb/source/ucp/webdav-neon/webdavcontent.cxx
+++ b/ucb/source/ucp/webdav-neon/webdavcontent.cxx
@@ -3260,10 +3260,18 @@ void Content::unlock(
// update the URL
aTargetUrl = xResAccess->getURL();
- xResAccess->UNLOCK( Environment );
- // remove options from cache, unlock may change it
- // it will be refreshed when needed
- aStaticDAVOptionsCache.removeDAVOptions( aTargetUrl );
+ // check if the target URL is a Class1 DAV
+ DAVOptions aDAVOptions;
+ getResourceOptions( Environment, aDAVOptions, xResAccess );
+
+ // at least class one is needed
+ if( aDAVOptions.isClass1() )
+ {
+ xResAccess->UNLOCK( Environment );
+ // remove options from cache, unlock may change it
+ // it will be refreshed when needed
+ aStaticDAVOptionsCache.removeDAVOptions( aTargetUrl );
+ }
{
osl::Guard< osl::Mutex > aGuard( m_aMutex );