summaryrefslogtreecommitdiffstats
path: root/toolkit/source/controls/unocontrolbase.cxx
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2004-11-16 09:01:47 +0000
committerOliver Bolte <obo@openoffice.org>2004-11-16 09:01:47 +0000
commit7a75a911dba940284f036fd51fa8a561f608b54f (patch)
treea5d2885ea7e7f3e56b2203c147a704de8016be2e /toolkit/source/controls/unocontrolbase.cxx
parentINTEGRATION: CWS eforms2 (1.26.108); FILE MERGED (diff)
downloadcore-7a75a911dba940284f036fd51fa8a561f608b54f.tar.gz
core-7a75a911dba940284f036fd51fa8a561f608b54f.zip
INTEGRATION: CWS eforms2 (1.3.162); FILE MERGED
2004/06/30 15:17:24 dvo 1.3.162.3: RESYNC: (1.3-1.4); FILE MERGED 2004/06/22 14:58:40 dvo 1.3.162.2: implSetPropertyValue: properly reset msPropertyCurrentlyUpdating 2004/03/25 17:36:58 dvo 1.3.162.1: #114856# allow changes of control properties while control is focussed
Diffstat (limited to 'toolkit/source/controls/unocontrolbase.cxx')
-rw-r--r--toolkit/source/controls/unocontrolbase.cxx22
1 files changed, 17 insertions, 5 deletions
diff --git a/toolkit/source/controls/unocontrolbase.cxx b/toolkit/source/controls/unocontrolbase.cxx
index f45fa6ad47bf..93689905f653 100644
--- a/toolkit/source/controls/unocontrolbase.cxx
+++ b/toolkit/source/controls/unocontrolbase.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: unocontrolbase.cxx,v $
*
- * $Revision: 1.4 $
+ * $Revision: 1.5 $
*
- * last change: $Author: rt $ $Date: 2004-05-07 16:17:33 $
+ * last change: $Author: obo $ $Date: 2004-11-16 10:01:47 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -100,10 +100,22 @@ void UnoControlBase::ImplSetPropertyValue( const ::rtl::OUString& aPropertyName,
{
::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xPSet( mxModel, ::com::sun::star::uno::UNO_QUERY );
if ( !bUpdateThis )
- StartUpdatingModel();
- xPSet->setPropertyValue( aPropertyName, aValue );
+ {
+ DBG_ASSERT( msPropertyCurrentlyUpdating.getLength() == 0, "UnoControlBase::ImplSetPropertyValue: recursive calls not allowed!" );
+ msPropertyCurrentlyUpdating = aPropertyName;
+ }
+ try
+ {
+ xPSet->setPropertyValue( aPropertyName, aValue );
+ }
+ catch( const com::sun::star::uno::Exception& )
+ {
+ if ( !bUpdateThis )
+ msPropertyCurrentlyUpdating = ::rtl::OUString();
+ throw;
+ }
if ( !bUpdateThis )
- EndUpdatingModel();
+ msPropertyCurrentlyUpdating = ::rtl::OUString();
}
}