summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--connectivity/source/commontools/dbtools.cxx10
-rw-r--r--include/connectivity/OSubComponent.hxx4
2 files changed, 10 insertions, 4 deletions
diff --git a/connectivity/source/commontools/dbtools.cxx b/connectivity/source/commontools/dbtools.cxx
index 701c64d7e63d..1c1dbfe150a9 100644
--- a/connectivity/source/commontools/dbtools.cxx
+++ b/connectivity/source/commontools/dbtools.cxx
@@ -1965,7 +1965,7 @@ namespace connectivity
void release(oslInterlockedCount& _refCount,
::cppu::OBroadcastHelper& rBHelper,
Reference< XInterface >& _xInterface,
- css::lang::XComponent* _pObject)
+ css::lang::XComponent* _pObject) throw ()
{
if (osl_atomic_decrement( &_refCount ) == 0)
{
@@ -1982,7 +1982,13 @@ void release(oslInterlockedCount& _refCount,
}
// First dispose
- _pObject->dispose();
+ try {
+ _pObject->dispose();
+ } catch (css::uno::RuntimeException & e) {
+ SAL_WARN(
+ "connectivity.commontools",
+ "Caught exception during dispose, " << e.Message);
+ }
// only the alive ref holds the object
OSL_ASSERT( _refCount == 1 );
diff --git a/include/connectivity/OSubComponent.hxx b/include/connectivity/OSubComponent.hxx
index 8f80e8eea2a5..1955c543da52 100644
--- a/include/connectivity/OSubComponent.hxx
+++ b/include/connectivity/OSubComponent.hxx
@@ -43,7 +43,7 @@ namespace connectivity
void release(oslInterlockedCount& _refCount,
::cppu::OBroadcastHelper& rBHelper,
css::uno::Reference< css::uno::XInterface >& _xInterface,
- css::lang::XComponent* _pObject);
+ css::lang::XComponent* _pObject) throw ();
// OSubComponent
@@ -70,7 +70,7 @@ namespace connectivity
::osl::MutexGuard aGuard( m_pDerivedImplementation->WEAK::rBHelper.rMutex );
m_xParent.clear();
}
- void relase_ChildImpl()
+ void relase_ChildImpl() throw ()
{
#if 0
::connectivity::release(m_pDerivedImplementation->m_refCount,