Do not pause/resume when widget is not created 13/268113/1
authortscholb <scholb.kim@samsung.com>
Wed, 15 Dec 2021 05:31:13 +0000 (14:31 +0900)
committersunghyun kim <scholb.kim@samsung.com>
Thu, 16 Dec 2021 07:55:52 +0000 (16:55 +0900)
if Widget is not created, we must not call any api for widget.
so i added this patch

Change-Id: I3c874209aa65be95605aa3f8b8509e424bd3b011

widget_viewer_dali/internal/widget_view/widget_view_impl.cpp

index 050d92576f5c15537c7681325f8941f2d7d70623..c174d8a9bde98696c332844b22042258da82c6bc 100644 (file)
@@ -630,15 +630,15 @@ void WidgetView::SendWidgetEvent( int event )
         widget_instance_resize(mInstanceId.c_str(), mWidth, mHeight);
         mResizeRequired = false;
       }
-
+      break;
+    }
+    case WIDGET_INSTANCE_EVENT_RESUME:
+    {
       // Call Resume/Pause for reloading
       bool needPaused = IsOutOfScreen();
-      if( mWindowVisible )
+      if( mWindowVisible && !needPaused)
       {
-        if( !needPaused)
-        {
-          ResumeWidgetInternally();
-        }
+        ResumeWidgetInternally();
       }
       else
       {
@@ -1104,12 +1104,9 @@ void WidgetView::OnWindowVisibilityChanged( Window window, bool visible )
     return;
   }
 
-  if( mWindowVisible )
+  if( mWindowVisible && !needPaused)
   {
-    if( !needPaused)
-    {
-      ResumeWidgetInternally();
-    }
+    ResumeWidgetInternally();
   }
   else
   {
@@ -1120,6 +1117,12 @@ void WidgetView::OnWindowVisibilityChanged( Window window, bool visible )
 
 void WidgetView::OnUpdateArea( Dali::PropertyNotification& source )
 {
+  if(!mCreated)
+  {
+    DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "Do not pause/resume widget, because widget is not created \n");
+    return;
+  }
+
   bool needPaused = IsOutOfScreen();
   if( mPausedManually )
   {