diff options
Diffstat (limited to 'toolkit/source/controls/controlmodelcontainerbase.cxx')
-rw-r--r-- | toolkit/source/controls/controlmodelcontainerbase.cxx | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/toolkit/source/controls/controlmodelcontainerbase.cxx b/toolkit/source/controls/controlmodelcontainerbase.cxx index 58ca81f74541..940b99bd41c3 100644 --- a/toolkit/source/controls/controlmodelcontainerbase.cxx +++ b/toolkit/source/controls/controlmodelcontainerbase.cxx @@ -310,17 +310,19 @@ Reference< XPropertySetInfo > ControlModelContainerBase::getPropertySetInfo( ) static Reference< XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) ); return xInfo; } - -UnoControlModel* ControlModelContainerBase::Clone() const +void ControlModelContainerBase::Clone_Impl(ControlModelContainerBase& _rClone) const { - // clone the container itself - ControlModelContainerBase* pClone = new ControlModelContainerBase( *this ); - // clone all children ::std::for_each( maModels.begin(), maModels.end(), - CloneControlModel( pClone->maModels ) + CloneControlModel( _rClone.maModels ) ); +} +UnoControlModel* ControlModelContainerBase::Clone() const +{ + // clone the container itself + ControlModelContainerBase* pClone = new ControlModelContainerBase( *this ); + Clone_Impl(*pClone); return pClone; } |