summaryrefslogtreecommitdiff
path: root/toolkit/source/controls
diff options
context:
space:
mode:
authorFrank Schönheit <fs@openoffice.org>2002-05-16 04:50:49 +0000
committerFrank Schönheit <fs@openoffice.org>2002-05-16 04:50:49 +0000
commitb3c7122525d9938f9f2e5a19950b9cb8fcdf98f6 (patch)
treeb1941420b7883518a3bbd907497eb9282bb06019 /toolkit/source/controls
parent80c070d84521cdbd6bc9a28e682205b874df07f3 (diff)
#99314# setPropertyValues: call ImplNormalizePropertySequence, to take care for dependencies between properties
Diffstat (limited to 'toolkit/source/controls')
-rw-r--r--toolkit/source/controls/unocontrolmodel.cxx21
1 files changed, 17 insertions, 4 deletions
diff --git a/toolkit/source/controls/unocontrolmodel.cxx b/toolkit/source/controls/unocontrolmodel.cxx
index 137c5d62947e..9ef4357a6ec5 100644
--- a/toolkit/source/controls/unocontrolmodel.cxx
+++ b/toolkit/source/controls/unocontrolmodel.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: unocontrolmodel.cxx,v $
*
- * $Revision: 1.26 $
+ * $Revision: 1.27 $
*
- * last change: $Author: fs $ $Date: 2002-04-09 07:36:52 $
+ * last change: $Author: fs $ $Date: 2002-05-16 05:50:49 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -1328,7 +1328,12 @@ void UnoControlModel::setPropertyValues( const ::com::sun::star::uno::Sequence<
sal_Int32 nProps = rPropertyNames.getLength();
sal_Int32* pHandles = new sal_Int32[nProps];
- const ::com::sun::star::uno::Any* pValues = Values.getConstArray();
+
+ // may need to change the order in the sequence, for this we need a non-const value sequence
+ // 15.05.2002 - 99314 - fs@openoffice.org
+ uno::Sequence< uno::Any > aValues( Values );
+ uno::Any* pValues = aValues.getArray();
+
sal_Int32 nValidHandles = getInfoHelper().fillHandles( pHandles, rPropertyNames );
if ( nValidHandles )
@@ -1352,7 +1357,10 @@ void UnoControlModel::setPropertyValues( const ::com::sun::star::uno::Sequence<
}
if ( nValidHandles )
- setFastPropertyValues( nProps, pHandles, pValues, nValidHandles );
+ {
+ ImplNormalizePropertySequence( nProps, pHandles, pValues, &nValidHandles );
+ setFastPropertyValues( nProps, pHandles, pValues, nValidHandles );
+ }
// FD-Propertie nicht in das Array mergen, weil sortiert...
if ( pFD )
@@ -1370,3 +1378,8 @@ void UnoControlModel::setPropertyValues( const ::com::sun::star::uno::Sequence<
+void UnoControlModel::ImplNormalizePropertySequence( const sal_Int32 _nCount, sal_Int32* _pHandles,
+ uno::Any* _pValues, sal_Int32* _pValidHandles ) const SAL_THROW(())
+{
+ // nothing to do here
+}