summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2006-01-19 14:40:05 +0000
committerOliver Bolte <obo@openoffice.org>2006-01-19 14:40:05 +0000
commitabbf6152cbf48625eb37f9f8870a21b858772959 (patch)
treead96f5313cdc4ef3cf0126ec1f0b82d4e2d2a9e7
parentcaf35248d64a3aa45c9fec0c1e1d393658b53309 (diff)
INTEGRATION: CWS dba202e (1.69.158); FILE MERGED
2006/01/09 10:25:19 fs 1.69.158.2: RESYNC: (1.69-1.71); FILE MERGED 2005/12/08 15:08:03 fs 1.69.158.1: #114193# :disposing(): reset notifications at our configuration
-rw-r--r--svx/source/form/fmshimp.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/svx/source/form/fmshimp.cxx b/svx/source/form/fmshimp.cxx
index 294967c3a36b..bc252580def1 100644
--- a/svx/source/form/fmshimp.cxx
+++ b/svx/source/form/fmshimp.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: fmshimp.cxx,v $
*
- * $Revision: 1.72 $
+ * $Revision: 1.73 $
*
- * last change: $Author: obo $ $Date: 2006-01-16 15:22:01 $
+ * last change: $Author: obo $ $Date: 2006-01-19 15:40:05 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -918,6 +918,8 @@ void FmXFormShell::disposing()
m_aMarkTimer.Stop();
}
+ DisableNotification();
+
// we are disposed from within the destructor of our shell, so now the shell pointer is invalid ....
m_pShell = NULL;
m_xActiveController = NULL;
@@ -962,6 +964,9 @@ void FmXFormShell::UpdateSlot( sal_Int16 _nId )
void FmXFormShell::InvalidateSlot( sal_Int16 nId, sal_Bool bWithId )
{
OSL_ENSURE(!FmXFormShell_BASE::rBHelper.bDisposed,"FmXFormShell: Object already disposed!");
+ if ( FmXFormShell_BASE::rBHelper.bDisposed )
+ return /*throw DisposedException()*/ ;
+
::osl::MutexGuard aGuard(m_aInvalidationSafety);
if (m_nLockSlotInvalidation)
{
@@ -3829,6 +3834,10 @@ void FmXFormShell::implAdjustConfigCache()
//------------------------------------------------------------------------
void FmXFormShell::Notify( const com::sun::star::uno::Sequence< rtl::OUString >& _rPropertyNames)
{
+ OSL_ENSURE(!FmXFormShell_BASE::rBHelper.bDisposed,"FmXFormShell: Object already disposed!");
+ if ( FmXFormShell_BASE::rBHelper.bDisposed )
+ return /*throw DisposedException()*/ ;
+
const ::rtl::OUString* pSearch = _rPropertyNames.getConstArray();
const ::rtl::OUString* pSearchTil = pSearch + _rPropertyNames.getLength();
for (;pSearch < pSearchTil; ++pSearch)