Add an exception handling about permanent deletion 96/142596/3 accepted/tizen/3.0/common/20170808.135513 accepted/tizen/3.0/mobile/20170808.070805 accepted/tizen/3.0/wearable/20170808.070818 submit/tizen_3.0/20170807.075229
authorHwankyu Jhun <h.jhun@samsung.com>
Fri, 4 Aug 2017 10:53:49 +0000 (19:53 +0900)
committerHwanKyu Jhun <h.jhun@samsung.com>
Sun, 6 Aug 2017 22:29:37 +0000 (22:29 +0000)
Change-Id: Iea0e8dc778532174c618f07273f793cbee74d35b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/widget_app.c

index 527cfa8..858e7fc 100755 (executable)
@@ -91,6 +91,7 @@ static widget_class_h class_provider;
 static int exit_called;
 static char *package_id;
 static bool fg_signal;
+static bool is_permanent;
 
 static void _widget_core_set_appcore_event_cb(void);
 static void _widget_core_unset_appcore_event_cb(void);
@@ -567,9 +568,11 @@ static int __instance_destroy(widget_class_h handle, const char *id,
                        handle->user_data);
 
        if (reason == WIDGET_APP_DESTROY_TYPE_PERMANENT) {
+               is_permanent = true;
                event = WIDGET_INSTANCE_EVENT_DESTROY;
                aul_widget_instance_del(handle->classid, id);
        } else {
+               is_permanent = false;
                ret = __send_update_status(handle->classid, id,
                                WIDGET_INSTANCE_EVENT_EXTRA_UPDATED, content_info);
        }
@@ -1293,7 +1296,8 @@ EXPORT_API int widget_app_exit(void)
        exit_called = 1;
 
        elm_exit();
-       aul_notify_exit();
+       if (!_widget_app_get_contexts() && is_permanent)
+               aul_notify_exit();
 
        return WIDGET_ERROR_NONE;
 }