diff options
author | Oliver-Rainer Wittmann <orw@apache.org> | 2014-03-21 12:32:09 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-03-21 16:25:48 +0000 |
commit | 40c8121fbeb89403418a90c77b88d13ad268d347 (patch) | |
tree | eb73bbfc3ad5367ab09855a9e1f948ffd615f078 /sw | |
parent | cbce7443b2fa0c1304ff94a54eb48da0c4518146 (diff) |
Resolves: #i124474# on change of User Field via UNO-API...
trigger update to get dependent Input Fields updated.
(cherry picked from commit fc0c91c2d00157cb02cbe7b1d09cb950762e8145)
Conflicts:
sw/source/core/unocore/unofield.cxx
Change-Id: I0ead765729c93992103baca53924b7a127936b38
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/unocore/unofield.cxx | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/sw/source/core/unocore/unofield.cxx b/sw/source/core/unocore/unofield.cxx index 044dcb13d121..a416963f2dcc 100644 --- a/sw/source/core/unocore/unofield.cxx +++ b/sw/source/core/unocore/unofield.cxx @@ -577,18 +577,29 @@ throw (beans::UnknownPropertyException, beans::PropertyVetoException, } } } - if( bSetValue ) + if ( bSetValue ) { // nothing special to be done here for the properties // UNO_NAME_DATA_BASE_NAME and UNO_NAME_DATA_BASE_URL. // We just call PutValue (empty string is allowed). // Thus the last property set will be used as Data Source. - sal_uInt16 nMId = GetFieldTypeMId( rPropertyName, *pType ); - if( USHRT_MAX != nMId ) - pType->PutValue( rValue, nMId ); + const sal_uInt16 nMemberValueId = GetFieldTypeMId( rPropertyName, *pType ); + if ( USHRT_MAX != nMemberValueId ) + { + pType->PutValue( rValue, nMemberValueId ); + if ( pType->Which() == RES_USERFLD ) + { + // trigger update of User field in order to get depending Input Fields updated. + pType->UpdateFlds(); + } + } else - throw beans::UnknownPropertyException(OUString( "Unknown property: " ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) ); + { + throw beans::UnknownPropertyException( + OUString( "Unknown property: " ) + rPropertyName, + static_cast< cppu::OWeakObject * >( this ) ); + } } } else if (!pType && m_pImpl->m_pDoc && rPropertyName == UNO_NAME_NAME) |