diff options
Diffstat (limited to 'ucb/source/ucp/webdav-neon/webdavcontent.cxx')
-rw-r--r-- | ucb/source/ucp/webdav-neon/webdavcontent.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ucb/source/ucp/webdav-neon/webdavcontent.cxx b/ucb/source/ucp/webdav-neon/webdavcontent.cxx index fe49180627da..ea8ecb48d5ac 100644 --- a/ucb/source/ucp/webdav-neon/webdavcontent.cxx +++ b/ucb/source/ucp/webdav-neon/webdavcontent.cxx @@ -112,6 +112,7 @@ Content::Content( m_eResourceType( UNKNOWN ), m_pProvider( pProvider ), m_bTransient( false ), + m_bLocked( false ), m_bCollection( false ), m_bDidGetOrHead( false ) { @@ -144,6 +145,7 @@ Content::Content( m_eResourceType( UNKNOWN ), m_pProvider( pProvider ), m_bTransient( true ), + m_bLocked( false ), m_bCollection( isCollection ), m_bDidGetOrHead( false ) { @@ -164,6 +166,8 @@ Content::Content( // virtual Content::~Content() { + if (m_bLocked) + unlock(uno::Reference< ucb::XCommandEnvironment >()); } @@ -2820,6 +2824,7 @@ void Content::lock( uno::Sequence< OUString >() ); xResAccess->LOCK( aLock, Environment ); + m_bLocked = true; { osl::Guard< osl::Mutex > aGuard( m_aMutex ); @@ -2849,6 +2854,7 @@ void Content::unlock( } xResAccess->UNLOCK( Environment ); + m_bLocked = false; { osl::Guard< osl::Mutex > aGuard( m_aMutex ); |