// dont allow recursive loop
DALI_ASSERT_ALWAYS(!mInsideOnSizeSet && "Cannot call SetSize from OnSizeSet");
// check that we have a node AND the new size width, height or depth is at least a little bit different from the old one
- Vector3 currentSize = mOwner.GetCurrentSize();
+ bool changeTargetSize = false;
if((fabsf(mTargetSize.width - size.width) > Math::MACHINE_EPSILON_1) ||
(fabsf(mTargetSize.height - size.height) > Math::MACHINE_EPSILON_1) ||
- (fabsf(mTargetSize.depth - size.depth) > Math::MACHINE_EPSILON_1) ||
- (fabsf(mTargetSize.width - currentSize.width) > Math::MACHINE_EPSILON_1) ||
- (fabsf(mTargetSize.height - currentSize.height) > Math::MACHINE_EPSILON_1) ||
- (fabsf(mTargetSize.depth - currentSize.depth) > Math::MACHINE_EPSILON_1))
+ (fabsf(mTargetSize.depth - size.depth) > Math::MACHINE_EPSILON_1))
+ {
+ changeTargetSize = true;
+ }
+ else
+ {
+ // Check if currentSize it difference with target size.
+ Vector3 currentSize = mOwner.GetCurrentSize();
+ if((fabsf(mTargetSize.width - currentSize.width) > Math::MACHINE_EPSILON_1) ||
+ (fabsf(mTargetSize.height - currentSize.height) > Math::MACHINE_EPSILON_1) ||
+ (fabsf(mTargetSize.depth - currentSize.depth) > Math::MACHINE_EPSILON_1))
+ {
+ changeTargetSize = true;
+ }
+ }
+
+ if(changeTargetSize)
{
mTargetSize = size;