Remove unnecessary restart check logic 99/182699/2
authorhyunho <hhstark.kang@samsung.com>
Wed, 27 Jun 2018 07:26:12 +0000 (16:26 +0900)
committerhyunho <hhstark.kang@samsung.com>
Wed, 27 Jun 2018 08:25:10 +0000 (17:25 +0900)
del_cb is called when widget is permanantly deleted
We don't need to check restart

Change-Id: Ie6ef40e49b7098b6c7a949a18fb53badd5bfea9e
Signed-off-by: hyunho <hhstark.kang@samsung.com>
widget_viewer_evas/src/widget_viewer_evas.c

index 72ede2879b20151d4c490c980fa76ca2eb56aeea..a83b081b2bf76a35a72930c73d86eb7a7b357c87 100644 (file)
@@ -205,6 +205,7 @@ static void __destroy_widget_info(gpointer data);
 static gboolean __restart_timeout_cb(gpointer user_data);
 static void __remove_restart_info(const char *instance_id);
 static void __restart_instance(void);
+static void __remove_restart_timer(void);
 
 static void __destroy_pending_item(gpointer data)
 {
@@ -488,6 +489,7 @@ static void __screen_connector_toolkit_evas_added_cb(const char *appid, const ch
        info->state = WIDGET_STATE_ATTACHED;
 
        __remove_restart_info(instance_id);
+       __remove_restart_timer();
        __restart_instance();
        __flush_event_queue(info);
        /**
@@ -546,11 +548,12 @@ static void __screen_connector_toolkit_evas_removed_cb(const char *appid, const
                return;/* LCOV_EXCL_LINE */
        }
 
+       aul_widget_write_log(LOG_TAG, "[%s:%d]  %s, restart[%d]",
+                       __FUNCTION__, __LINE__, instance_id, info->restart);
+
        if (info->restart)
                return;
 
-       aul_widget_write_log(LOG_TAG, "[%s:%d]  %s",
-                       __FUNCTION__, __LINE__, instance_id);
        DbgPrint("widget removed: %s", appid);
        elm_object_part_content_set(info->layout, "tbm,widget", NULL);
 
@@ -627,11 +630,15 @@ static void __remove_restart_info(const char *instance_id)
        restart_instance_id = list->data;
        s_info.restart_list = g_list_remove(s_info.restart_list, restart_instance_id);
        free(restart_instance_id);
+}
 
-       if (s_info.restart_timer > 0) {
-               g_source_remove(s_info.restart_timer);
-               s_info.restart_timer = 0;
-       }
+static void __remove_restart_timer()
+{
+       if (s_info.restart_timer <= 0)
+               return;
+
+       g_source_remove(s_info.restart_timer);
+       s_info.restart_timer = 0;
 }
 
 static void __restart_instance()
@@ -1109,9 +1116,6 @@ static void __del_cb(void *data, Evas *e, Evas_Object *layout, void *event_info)
        char *widget_id;
        char *instance_id;
 
-       if (info->restart)
-               return;/* LCOV_EXCL_LINE */
-
        DbgPrint("delete: layout(%p)", layout);
        aul_widget_write_log(LOG_TAG, "[%s:%d]  %s",
                        __FUNCTION__, __LINE__, info->instance_id);
@@ -1158,6 +1162,7 @@ static void __del_cb(void *data, Evas *e, Evas_Object *layout, void *event_info)
                                g_hash_table_remove(s_info.instance_cnt_table, widget_id);
                }
        }
+       __remove_restart_info(instance_id);
 
        free(widget_id);
        free(instance_id);