From 4e9d331f7b3c4b1157f7be54c0d919e371070fef Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Fri, 4 Aug 2017 19:53:49 +0900 Subject: [PATCH] Add an exception handling about permanent deletion Change-Id: Iea0e8dc778532174c618f07273f793cbee74d35b Signed-off-by: Hwankyu Jhun --- src/widget_app.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/widget_app.c b/src/widget_app.c index 527cfa8..858e7fc 100755 --- a/src/widget_app.c +++ b/src/widget_app.c @@ -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; } -- 2.7.4