Add RENDERING_BEHAVIOR property to Renderer
[platform/core/uifw/dali-core.git] / dali / internal / update / manager / update-manager.cpp
index dbc7125..15244e1 100644 (file)
@@ -795,6 +795,7 @@ uint32_t UpdateManager::Update( float elapsedSeconds,
       mImpl->messageQueue.IsSceneUpdateRequired()     ||    // ..a message that modifies the scene graph node tree is queued OR
       gestureUpdated;                                       // ..a gesture property was updated
 
+  bool keepRendererRendering = false;
 
   // Although the scene-graph may not require an update, we still need to synchronize double-buffered
   // values if the scene was updated in the previous frame.
@@ -882,7 +883,7 @@ uint32_t UpdateManager::Update( float elapsedSeconds,
       {
         if ( NULL != mImpl->roots[index] )
         {
-          mImpl->renderTaskProcessor.Process( bufferIndex,
+          keepRendererRendering |= mImpl->renderTaskProcessor.Process( bufferIndex,
                                               *mImpl->taskLists[index],
                                               *mImpl->roots[index],
                                               mImpl->sortedLayerLists[index],
@@ -933,6 +934,11 @@ uint32_t UpdateManager::Update( float elapsedSeconds,
   // Check whether further updates are required
   uint32_t keepUpdating = KeepUpdatingCheck( elapsedSeconds );
 
+  if( keepRendererRendering )
+  {
+    keepUpdating |= KeepUpdating::STAGE_KEEP_RENDERING;
+  }
+
   // tell the update manager that we're done so the queue can be given to event thread
   mImpl->notificationManager.UpdateCompleted();