.def_timeout_fn = mytimeout
};
+static Eina_Bool exit_idler_cb(void *data)
+{
+ elm_exit();
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void popup_terminate(void)
+{
+ if (ecore_idler_add(exit_idler_cb, NULL))
+ return;
+
+ exit_idler_cb(NULL);
+}
+
/* App Life cycle funtions */
static void win_del(void *data, Evas_Object * obj, void *event)
{
- elm_exit();
+ popup_terminate();
}
/* Quit */
static void main_quit_cb(void *data, Evas_Object *obj, const char *emission,
const char *source)
{
- elm_exit();
+ popup_terminate();
}
/* Update text font */
syspopup_reset(b);
} else {
if(option == CHECK_ACT) {
- exit(0);
+ popup_terminate();
}
syspopup_create(b, &handler, ad->win_main, ad);
evas_object_show(ad->win_main);
static void bg_clicked_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
{
system_print("\n system-popup : Inside bg clicked \n");
- exit(0);
+ popup_terminate();
}
static void bg_noti_cb(void *data)
}
}
/* Now get lost */
- exit(0);
+ popup_terminate();
}
/* Basic popup widget */
{"txt_mesg", N_(""),},
};
+static Eina_Bool exit_idler_cb(void *data)
+{
+ elm_exit();
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void popup_terminate(void)
+{
+ if (ecore_idler_add(exit_idler_cb, NULL))
+ return;
+
+ exit_idler_cb(NULL);
+}
+
/* App Life cycle funtions */
static void win_del(void *data, Evas_Object *obj, void *event)
{
- elm_exit();
+ popup_terminate();
}
/* Quit */
static void main_quit_cb(void *data, Evas_Object *obj, const char *emission,
const char *source)
{
- elm_exit();
+ popup_terminate();
}
/* Update text font */
{
system_print("\n system-popup : In BG Noti \n");
fflush(stdout);
- exit(0);
+ popup_terminate();
}
void lowmem_clicked_cb(void *data, Evas * e, Evas_Object * obj,
{
system_print("\n system-popup : Screen clicked \n");
fflush(stdout);
- elm_exit();
- exit(0);
+ popup_terminate();
}
/* Create indicator bar */
lowmem_cleanup(data);
/* Now get lost */
- exit(0);
+ popup_terminate();
}
/* Basic popup widget */
.def_timeout_fn = mytimeout
};
+static Eina_Bool exit_idler_cb(void *data)
+{
+ elm_exit();
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void popup_terminate(void)
+{
+ if (ecore_idler_add(exit_idler_cb, NULL))
+ return;
+
+ exit_idler_cb(NULL);
+}
+
/* App Life cycle funtions */
static void win_del(void *data, Evas_Object * obj, void *event)
{
- elm_exit();
+ popup_terminate();
}
/* Create main window */
if (data != NULL)
mmc_cleanup(data);
- exit(0);
+ popup_terminate();
}
/* Basic popup widget */
.def_timeout_fn = mytimeout
};
+static Eina_Bool exit_idler_cb(void *data)
+{
+ elm_exit();
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void popup_terminate(void)
+{
+ if (ecore_idler_add(exit_idler_cb, NULL))
+ return;
+
+ exit_idler_cb(NULL);
+}
+
/* App Life cycle funtions */
static void win_del(void *data, Evas_Object * obj, void *event)
{
- elm_exit();
+ popup_terminate();
}
/* Quit */
static void main_quit_cb(void *data, Evas_Object * obj, const char *emission,
const char *source)
{
- elm_exit();
+ popup_terminate();
}
/* Update text font */
{
system_print("\n system-popup : In BG Noti \n");
fflush(stdout);
- exit(0);
+ popup_terminate();
}
static void poweroff_popup_direct_cancel(keynode_t *key, void *data)
vconf_ignore_key_changed(VCONFKEY_PM_STATE,(void*)poweroff_popup_direct_cancel);
if (ad != NULL)
poweroff_cleanup(ad);
- exit(0);
+ popup_terminate();
}
else
return;
vconf_ignore_key_changed(VCONFKEY_PM_STATE,(void*)poweroff_popup_direct_cancel);
if(data != NULL)
poweroff_cleanup(data);
- exit(0);
+ popup_terminate();
}
int create_and_show_basic_popup_min(struct appdata *ad)
#define HOST_IDVENDOR "_HOST_IDVENDOR"
#define HOST_IDPRODUCT "_HOST_IDPRODUCT"
+static Eina_Bool exit_idler_cb(void *data)
+{
+ elm_exit();
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static void popup_terminate(void)
+{
+ if (ecore_idler_add(exit_idler_cb, NULL))
+ return;
+
+ exit_idler_cb(NULL);
+}
+
static int ipc_socket_client_init()
{
__USB_FUNC_ENTER__ ;
static void __win_del(void *data, Evas_Object * obj, void *event)
{
__USB_FUNC_ENTER__ ;
- elm_exit();
+ popup_terminate();
__USB_FUNC_EXIT__ ;
}
ret = vconf_get_int(VCONFKEY_SYSMAN_USB_STATUS, &usb_status);
if (0 == ret && usb_status == VCONFKEY_SYSMAN_USB_DISCONNECTED) {
USB_LOG("USB cable is not connected");
- elm_exit();
+ popup_terminate();
}
__USB_FUNC_EXIT__ ;
}
ret = vconf_get_int(VCONFKEY_SYSMAN_USB_HOST_STATUS, &usb_status);
if (0 == ret && usb_status == VCONFKEY_SYSMAN_USB_HOST_DISCONNECTED) {
USB_LOG("USB host is not connected");
- elm_exit();
+ popup_terminate();
}
__USB_FUNC_EXIT__ ;
}
return;
}
- elm_exit();
+ popup_terminate();
__USB_FUNC_EXIT__ ;
}
break;
}
- elm_exit();
+ popup_terminate();
__USB_FUNC_EXIT__ ;
}
break;
}
- elm_exit();
+ popup_terminate();
__USB_FUNC_EXIT__ ;
}
NULL);
if (0 > ret) {
USB_LOG("FAIL: load_normal_popup(): %d", ret);
- elm_exit();
+ popup_terminate();
}
__USB_FUNC_EXIT__ ;
assert(data);
struct appdata *ad = (struct appdata *)data;
unload_popup(ad);
- elm_exit();
+ popup_terminate();
__USB_FUNC_EXIT__ ;
}
USB_LOG("FAIL: send_sel_pkg_to_usb_server(ad)");
}
- elm_exit();
+ popup_terminate();
__USB_FUNC_EXIT__ ;
}
ret = get_accessory_info(ad);
if (0 > ret) {
USB_LOG("FAIL: get_accessory_info(ad)");
- elm_exit();
+ popup_terminate();
return ;
}
ret = get_host_info(ad);
if (0 > ret) {
USB_LOG("FAIL: get_host_info(ad)");
- elm_exit();
+ popup_terminate();
return ;
}
request_perm_popup_no_response_cb);
if (0 > ret) {
USB_LOG("FAIL: load_normal_popup(): %d", ret);
- elm_exit();
+ popup_terminate();
}
__USB_FUNC_EXIT__ ;
type = (char *)bundle_get_val(b, SYSPOPUP_TYPE);
if (!type) {
USB_LOG("ERROR: Non existing type of popup\n");
- elm_exit();
+ popup_terminate();
return -1;
}
default:
USB_LOG("ERROR: The popup type(%d) does not exist\n", ad->type);
ad->isClientOrHost = USB_DEVICE_UNKNOWN;
- elm_exit();
+ popup_terminate();
return -1;
}
#define CAMERA_ADD "camera_add"
#define CAMERA_REMOVE "camera_remove"
+static Eina_Bool exit_idler_cb(void *data)
+{
+ elm_exit();
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static void popup_terminate(void)
+{
+ if (ecore_idler_add(exit_idler_cb, NULL))
+ return;
+
+ exit_idler_cb(NULL);
+}
+
static int ipc_socket_client_init()
{
__USB_FUNC_ENTER__ ;
/* App Life cycle funtions */
static void win_del(void *data, Evas_Object *obj, void *event)
{
- elm_exit();
+ popup_terminate();
}
static void uosp_free_evas_object(Evas_Object **eo)
USB_LOG("unload window");
uosp_free_evas_object(&(ad->win_main));
- elm_exit();
+ popup_terminate();
__USB_FUNC_EXIT__;
}