Fixed bug when adding first renderer to an on stage actor 33/50933/1
authorFerran Sole <ferran.sole@samsung.com>
Tue, 3 Nov 2015 14:41:46 +0000 (14:41 +0000)
committerFerran Sole <ferran.sole@samsung.com>
Tue, 3 Nov 2015 14:41:46 +0000 (14:41 +0000)
World matrix was not being updated when the first renderer was added to an
on stage actor.

Change-Id: I7d8f4758db5ad4bf0038bf2847a5588e0db0b5ee

dali/internal/update/nodes/node.h

index 5dd0605..b3f24f1 100644 (file)
@@ -185,10 +185,18 @@ public:
     {
       if( mRenderer[i] == renderer )
       {
-        mRenderer.Erase( mRenderer.Begin()+i);
+        //Renderer already in the list
         return;
       }
     }
+
+    //If it is the first renderer added, make sure the world transform will be calculated
+    //in the next update as world transform is not computed if node has no renderers
+    if( rendererCount == 0 )
+    {
+      mDirtyFlags |= TransformFlag;
+    }
+
     mRenderer.PushBack( renderer );
   }