diff options
author | Frank Schönheit <fs@openoffice.org> | 2002-05-16 04:50:49 +0000 |
---|---|---|
committer | Frank Schönheit <fs@openoffice.org> | 2002-05-16 04:50:49 +0000 |
commit | b3c7122525d9938f9f2e5a19950b9cb8fcdf98f6 (patch) | |
tree | b1941420b7883518a3bbd907497eb9282bb06019 /toolkit/source/controls | |
parent | 80c070d84521cdbd6bc9a28e682205b874df07f3 (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.cxx | 21 |
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 +} |