X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fcommon%2Fproperty-owner.cpp;h=fb655e3db45d6dcb9add70cf6d3ab608110eb4dd;hb=0a68c62785eaa442cfa213157431d6f2c9b37033;hp=ec3d17a95d532162945ad566b68f6353996bc62e;hpb=e7267cff159c0ea2f919cbbe8c809f22226148d9;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/common/property-owner.cpp b/dali/internal/update/common/property-owner.cpp index ec3d17a..fb655e3 100644 --- a/dali/internal/update/common/property-owner.cpp +++ b/dali/internal/update/common/property-owner.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -110,36 +110,21 @@ void PropertyOwner::DisconnectFromSceneGraph( BufferIndex updateBufferIndex ) mConstraints.Clear(); } -void PropertyOwner::InstallCustomProperty(PropertyBase* property) +void PropertyOwner::InstallCustomProperty( OwnerPointer& property ) { - DALI_ASSERT_DEBUG( NULL != property ); - - mCustomProperties.PushBack( property ); + mCustomProperties.PushBack( property.Release() ); } -void PropertyOwner::ResetToBaseValues( BufferIndex updateBufferIndex ) -{ - // Reset custom properties - const OwnedPropertyIter endIter = mCustomProperties.End(); - for ( OwnedPropertyIter iter = mCustomProperties.Begin(); endIter != iter; ++iter ) - { - (*iter)->ResetToBaseValue( updateBufferIndex ); - } - - // Notification for derived classes, to reset default properties - ResetDefaultProperties( updateBufferIndex ); -} ConstraintOwnerContainer& PropertyOwner::GetConstraints() { return mConstraints; } -void PropertyOwner::ApplyConstraint( ConstraintBase* constraint ) +void PropertyOwner::ApplyConstraint( OwnerPointer& constraint ) { - mConstraints.PushBack( constraint ); - constraint->OnConnect(); + mConstraints.PushBack( constraint.Release() ); } void PropertyOwner::RemoveConstraint( ConstraintBase* constraint ) @@ -154,17 +139,16 @@ void PropertyOwner::RemoveConstraint( ConstraintBase* constraint ) } } - // Should not come here - DALI_ASSERT_DEBUG( false && "Constraint missing in RemoveConstraint" ); + //it may be that the constraint has already been removed e.g. from disconnection from scene graph, so nothing needs to be done } PropertyOwner::PropertyOwner() { } -void PropertyOwner::AddUniformMapping( UniformPropertyMapping* map ) +void PropertyOwner::AddUniformMapping( OwnerPointer< UniformPropertyMapping >& map ) { - mUniformMaps.Add( map ); + mUniformMaps.Add( map.Release() ); } void PropertyOwner::RemoveUniformMapping( const std::string& uniformName )