summaryrefslogtreecommitdiff
path: root/ucbhelper/source/provider/contenthelper.cxx
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2007-06-19 15:13:59 +0000
committerKurt Zenker <kz@openoffice.org>2007-06-19 15:13:59 +0000
commitf6d30e593df7ccd4b2c409391f45f5c76888a6ce (patch)
tree0a60a16f25311ee4e7c083969e7be9bf0d9a02f9 /ucbhelper/source/provider/contenthelper.cxx
parente84bcea8fcb6ff1f78d2b6a41d72db6a662e03a9 (diff)
INTEGRATION: CWS ucbfixes02 (1.12.30); FILE MERGED
2007/06/12 08:49:56 kso 1.12.30.3: RESYNC: (1.12-1.13); FILE MERGED 2007/05/31 16:31:29 kso 1.12.30.2: #144882# - Ooops. This is what was actually inteded to fix the crash. 2007/05/31 16:06:54 kso 1.12.30.1: #i144882# - Fixed crash in ContentImplHelper::release().
Diffstat (limited to 'ucbhelper/source/provider/contenthelper.cxx')
-rw-r--r--ucbhelper/source/provider/contenthelper.cxx15
1 files changed, 11 insertions, 4 deletions
diff --git a/ucbhelper/source/provider/contenthelper.cxx b/ucbhelper/source/provider/contenthelper.cxx
index 77f994bafa55..e80abeb69182 100644
--- a/ucbhelper/source/provider/contenthelper.cxx
+++ b/ucbhelper/source/provider/contenthelper.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: contenthelper.cxx,v $
*
- * $Revision: 1.13 $
+ * $Revision: 1.14 $
*
- * last change: $Author: ihi $ $Date: 2007-06-05 14:53:50 $
+ * last change: $Author: kz $ $Date: 2007-06-19 16:13:59 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -254,8 +254,15 @@ void SAL_CALL ContentImplHelper::acquire()
void SAL_CALL ContentImplHelper::release()
throw()
{
- osl::MutexGuard aGuard(m_xProvider->m_aMutex);
- cppu::OWeakObject::release();
+ // #144882# - Call to OWeakObject::release may destroy m_xProvider.
+ // Prevent this.
+ rtl::Reference< ContentProviderImplHelper > xKeepProviderAlive(
+ m_xProvider );
+
+ {
+ osl::MutexGuard aGuard( m_xProvider->m_aMutex );
+ OWeakObject::release();
+ }
}
uno::Any SAL_CALL ContentImplHelper::queryInterface( const uno::Type & rType )