summaryrefslogtreecommitdiff
path: root/toolkit/source/controls/controlmodelcontainerbase.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/source/controls/controlmodelcontainerbase.cxx')
-rw-r--r--toolkit/source/controls/controlmodelcontainerbase.cxx14
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;
}