Fix toolkit resource leak 89/145789/6
authorHyunho Kang <hhstark.kang@samsung.com>
Thu, 24 Aug 2017 01:04:16 +0000 (10:04 +0900)
committerHyunho Kang <hhstark.kang@samsung.com>
Thu, 24 Aug 2017 05:54:16 +0000 (14:54 +0900)
Change-Id: Id68e04a54570854167b7b359dc199f069d5f9830
Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
watch-control/src/control.c

index cd152484ebb8852a03626e81c90ac099e37c3379..26be150588a82286a24004ee6c1b71f67ca7afb3 100644 (file)
@@ -386,6 +386,10 @@ static void __screen_connector_toolkit_evas_removed_cb(const char *appid, const
        cur_image = evas_object_data_get(__win, "tbm,watch");
        if (cur_image == image) {
                evas_object_data_set(__win, "tbm,watch", NULL);
+               if (__toolkit)
+                       screen_connector_toolkit_evas_remove(__toolkit);
+               if (__rid_toolkit)
+                       screen_connector_toolkit_evas_remove(__rid_toolkit);
                __toolkit = NULL;
                __rid_toolkit = NULL;
                __is_bound = false;
@@ -435,6 +439,7 @@ API int watch_manager_set_resource_id(int resource_id)
        if (ret != AUL_R_OK) {
                _E("Fail to get appid of %d", resource_id);
                screen_connector_toolkit_evas_remove(handle);
+               __rid_toolkit = NULL;
                return -1;
        }
        _D("appid(%s), rid(%d)", __watch_appid, resource_id);