summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2007-03-26 11:13:44 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2007-03-26 11:13:44 +0000
commit81ca9fd4572796fb0df776cb4bcffdf1e7d27695 (patch)
tree77bfbaa3e4e22a99c6858e7e4871c3891b00e3d2
parentc0f2b7825fab19e68f181811331e72a4cd242310 (diff)
INTEGRATION: CWS fwk61 (1.9.24); FILE MERGED
2007/02/01 08:47:51 mav 1.9.24.1: #i74079# fix the hierarchy access
-rw-r--r--package/source/xstor/ocompinstream.cxx18
1 files changed, 12 insertions, 6 deletions
diff --git a/package/source/xstor/ocompinstream.cxx b/package/source/xstor/ocompinstream.cxx
index 1da3cfbe4..8cfcaf5cf 100644
--- a/package/source/xstor/ocompinstream.cxx
+++ b/package/source/xstor/ocompinstream.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: ocompinstream.cxx,v $
*
- * $Revision: 1.9 $
+ * $Revision: 1.10 $
*
- * last change: $Author: obo $ $Date: 2006-10-13 11:48:46 $
+ * last change: $Author: ihi $ $Date: 2007-03-26 12:13:44 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -269,13 +269,19 @@ void OInputCompStream::InternalDispose()
if ( m_bDisposed )
throw lang::DisposedException();
+ // the source object is also a kind of locker for the current object
+ // since the listeners could dispose the object while being notified
+ lang::EventObject aSource( static_cast< ::cppu::OWeakObject*>( this ) );
+
if ( m_pInterfaceContainer )
- {
- lang::EventObject aSource( static_cast< ::cppu::OWeakObject*>( this ) );
m_pInterfaceContainer->disposeAndClear( aSource );
- }
- m_xStream->closeInput();
+ try
+ {
+ m_xStream->closeInput();
+ }
+ catch( uno::Exception& )
+ {}
m_pImpl = NULL;
m_bDisposed = sal_True;