Revert "[Tizen] Skip rendering before the first renderer is added to node"
authorJoogab Yun <joogab.yun@samsung.com>
Tue, 20 Apr 2021 01:01:50 +0000 (10:01 +0900)
committerJoogab Yun <joogab.yun@samsung.com>
Tue, 20 Apr 2021 01:01:50 +0000 (10:01 +0900)
This reverts commit 70315a419e613279ae51d69092b210c18e30c8aa.

dali/internal/event/actors/actor-impl.cpp
dali/internal/update/manager/update-manager.cpp
dali/internal/update/manager/update-manager.h
dali/internal/update/nodes/node.h

index 408c273..d499716 100644 (file)
@@ -1038,7 +1038,7 @@ uint32_t Actor::AddRenderer(Renderer& renderer)
   uint32_t    index       = static_cast<uint32_t>(mRenderers->size()); //  4,294,967,295 renderers per actor
   RendererPtr rendererPtr = RendererPtr(&renderer);
   mRenderers->push_back(rendererPtr);
-  AttachRendererMessage(GetEventThreadServices().GetUpdateManager(), GetNode(), renderer.GetRendererSceneObject());
+  AttachRendererMessage(GetEventThreadServices(), GetNode(), renderer.GetRendererSceneObject());
   return index;
 }
 
index abad331..b082a9c 100644 (file)
@@ -604,6 +604,7 @@ void UpdateManager::AddRenderer(OwnerPointer<Renderer>& renderer)
 
   renderer->ConnectToSceneGraph(*mImpl->sceneController, mSceneGraphBuffers.GetUpdateBufferIndex());
   mImpl->renderers.PushBack(renderer.Release());
+  mImpl->renderersAdded = true;
 }
 
 void UpdateManager::RemoveRenderer(Renderer* renderer)
@@ -616,12 +617,6 @@ void UpdateManager::RemoveRenderer(Renderer* renderer)
   renderer->DisconnectFromSceneGraph(*mImpl->sceneController, mSceneGraphBuffers.GetUpdateBufferIndex());
 }
 
-void UpdateManager::AttachRenderer(Node* node, Renderer* renderer)
-{
-  node->AddRenderer(renderer);
-  mImpl->renderersAdded = true;
-}
-
 void UpdateManager::SetPanGestureProcessor(PanGesture* panGestureProcessor)
 {
   DALI_ASSERT_DEBUG(NULL != panGestureProcessor);
index a34cdb6..29d0e0f 100644 (file)
@@ -333,12 +333,6 @@ public:
    */
   void RemoveRenderer(Renderer* renderer);
 
-  /**
-   * Attach a renderer to node
-   * @param renderer to attach
-   */
-  void AttachRenderer(Node* node, Renderer* renderer);
-
   // Gestures
 
   /**
@@ -1105,16 +1099,6 @@ inline void RemoveRendererMessage(UpdateManager& manager, const Renderer& object
   new(slot) LocalType(&manager, &UpdateManager::RemoveRenderer, const_cast<Renderer*>(&object));
 }
 
-inline void AttachRendererMessage(UpdateManager& manager, const Node& node, const Renderer& renderer)
-{
-  using LocalType = MessageValue2<UpdateManager, Node*, Renderer*>;
-
-  // Reserve some memory inside the message queue
-  uint32_t* slot = manager.ReserveMessageSlot(sizeof(LocalType));
-  // Construct message in the message queue memory; note that delete should not be called on the return value
-  new(slot) LocalType(&manager, &UpdateManager::AttachRenderer, const_cast<Node*>(&node), const_cast<Renderer*>(&renderer));
-}
-
 // The render thread can safely change the Shader
 inline void AddTextureSetMessage(UpdateManager& manager, OwnerPointer<TextureSet>& textureSet)
 {
index 6f6e681..6026c00 100644 (file)
@@ -1038,6 +1038,17 @@ inline void SetDrawModeMessage(EventThreadServices& eventThreadServices, const N
   new(slot) LocalType(&node, &Node::SetDrawMode, drawMode);
 }
 
+inline void AttachRendererMessage(EventThreadServices& eventThreadServices, const Node& node, const Renderer& renderer)
+{
+  using LocalType = MessageValue1<Node, Renderer*>;
+
+  // Reserve some memory inside the message queue
+  uint32_t* slot = eventThreadServices.ReserveMessageSlot(sizeof(LocalType));
+
+  // Construct message in the message queue memory; note that delete should not be called on the return value
+  new(slot) LocalType(&node, &Node::AddRenderer, const_cast<Renderer*>(&renderer));
+}
+
 inline void DetachRendererMessage(EventThreadServices& eventThreadServices, const Node& node, const Renderer& renderer)
 {
   using LocalType = MessageValue1<Node, const Renderer*>;