diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2007-03-26 11:13:44 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2007-03-26 11:13:44 +0000 |
commit | 81ca9fd4572796fb0df776cb4bcffdf1e7d27695 (patch) | |
tree | 77bfbaa3e4e22a99c6858e7e4871c3891b00e3d2 | |
parent | c0f2b7825fab19e68f181811331e72a4cd242310 (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.cxx | 18 |
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; |