summaryrefslogtreecommitdiff
path: root/ucb/source/ucp/webdav-neon/webdavcontent.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'ucb/source/ucp/webdav-neon/webdavcontent.cxx')
-rw-r--r--ucb/source/ucp/webdav-neon/webdavcontent.cxx6
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 );