Destroy widget instance when TerminateWidget is called 21/240321/1 submit/tizen/20200805.104436
authorSunghyun Kim <scholb.kim@samsung.com>
Wed, 5 Aug 2020 09:06:25 +0000 (18:06 +0900)
committerSunghyun Kim <scholb.kim@samsung.com>
Wed, 5 Aug 2020 09:06:25 +0000 (18:06 +0900)
After TerminateWidget() is called, widget will be not used.
so call widget_instance_destroy() is more appropriate.
only call widget_instance_terminate(), AppFW consider this instance will be reuse.

Change-Id: I61080c690500d92caa56a6ec4c378ab20e465448

widget_viewer_dali/internal/widget_view/widget_view_impl.cpp

index 9e40132373c2a99ccdf61bd57358d99e4a27aedc..6d9c6e30707b9f611fc022b062baed852401a988 100644 (file)
@@ -589,14 +589,21 @@ bool WidgetView::TerminateWidget()
   {
     int ret = 0;
     ret = widget_instance_terminate( mInstanceId.c_str() );
-
-    if( mPermanentDelete )
+    if( ret < 0 )
     {
-      ret = widget_instance_destroy( mInstanceId.c_str() );
+      DALI_LOG_ERROR("widget_instance_terminate() is failed.");
+      return false;
     }
 
+    /*
+      After TerminateWidget() is called, widget will be not used.
+      so call widget_instance_destroy() is more appropriate.
+      only call widget_instance_terminate(), appFW consider this instance will be reuse.
+    */
+    ret = widget_instance_destroy( mInstanceId.c_str() );
     if( ret < 0 )
     {
+      DALI_LOG_ERROR("widget_instance_destroy() is failed.");
       return false;
     }