diff options
author | Kurt Zenker <kz@openoffice.org> | 2007-06-19 15:13:59 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2007-06-19 15:13:59 +0000 |
commit | f6d30e593df7ccd4b2c409391f45f5c76888a6ce (patch) | |
tree | 0a60a16f25311ee4e7c083969e7be9bf0d9a02f9 /ucbhelper/source/provider/contenthelper.cxx | |
parent | e84bcea8fcb6ff1f78d2b6a41d72db6a662e03a9 (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.cxx | 15 |
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 ) |