Skip PreRenderScene and ClearScene if it is not initialized 33/323733/1
authorEunki, Hong <eunkiki.hong@samsung.com>
Wed, 7 May 2025 02:06:27 +0000 (11:06 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Wed, 7 May 2025 02:06:27 +0000 (11:06 +0900)
Change-Id: Ice54353a8f7441525ca5e7ba717a9ed021781f96
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali/internal/render/common/render-manager.cpp

index a8e86eebbbb0a1c33cc7a2fdb03b4b8732e745f4..79d18e860c4641d35d05b13671bdb999b5e2b5cc 100644 (file)
@@ -705,10 +705,10 @@ void RenderManager::PreRenderScene(Integration::Scene& scene, Integration::Scene
   Internal::Scene& sceneInternal = GetImplementation(scene);
   Scene*           sceneObject   = sceneInternal.GetSceneObject();
 
-  if(!sceneObject)
+  if(!sceneObject || !sceneObject->GetSurfaceRenderTarget())
   {
     // May not be a scene object if the window is being removed.
-    DALI_LOG_ERROR("Scene was empty handle. Skip PreRenderScene\n");
+    DALI_LOG_ERROR("Scene was empty handle, or render target is null. Skip PreRenderScene (scene : %p, renderTarget : %p)\n", sceneObject, sceneObject ? sceneObject->GetSurfaceRenderTarget() : nullptr);
     return;
   }
 
@@ -1434,9 +1434,10 @@ void RenderManager::ClearScene(Integration::Scene scene)
 {
   Internal::Scene&   sceneInternal = GetImplementation(scene);
   SceneGraph::Scene* sceneObject   = sceneInternal.GetSceneObject();
-  if(!sceneObject)
+  if(!sceneObject || !sceneObject->GetSurfaceRenderTarget())
   {
-    DALI_LOG_ERROR("Scene was empty handle. Skip ClearScene\n");
+    // May not be a scene object if the window is being removed.
+    DALI_LOG_ERROR("Scene was empty handle, or render target is null. Skip ClearScene (scene : %p, renderTarget : %p)\n", sceneObject, sceneObject ? sceneObject->GetSurfaceRenderTarget() : nullptr);
     return;
   }