diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index afb1141d8..4da3c32c9 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -1022,6 +1022,12 @@ _e_comp_resize(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, vo e_comp_canvas_update(); } +static void +_e_comp_delete_request() +{ + e_sys_action_do(E_SYS_LOGOUT, NULL); +} + EINTERN Eina_Bool e_comp_init(void) { @@ -1178,6 +1184,9 @@ out: e_comp->elm = elm_win_fake_add(e_comp->ee); evas_object_event_callback_add(e_comp->elm, EVAS_CALLBACK_RESIZE, _e_comp_resize, NULL); elm_win_fullscreen_set(e_comp->elm, 1); + elm_win_autodel_set(e_comp->elm, 1); + if (!e_comp->screen) + evas_object_smart_callback_add(e_comp->elm, "delete,request", _e_comp_delete_request, NULL); ecore_evas_focus_set(e_comp->ee, 0); ecore_evas_focus_set(e_comp->ee, 1); evas_object_show(e_comp->elm); diff --git a/src/modules/wl_wl/e_mod_main.c b/src/modules/wl_wl/e_mod_main.c index f385745a6..2172a9669 100644 --- a/src/modules/wl_wl/e_mod_main.c +++ b/src/modules/wl_wl/e_mod_main.c @@ -2,12 +2,6 @@ E_API E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Wl_Wl" }; -static void -_cb_delete_request(Ecore_Evas *ee EINA_UNUSED) -{ - ecore_main_loop_quit(); -} - static Eina_Bool _cb_sync_done(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) { @@ -59,7 +53,6 @@ e_modapi_init(E_Module *m) } ecore_evas_data_set(e_comp->ee, "comp", e_comp); - ecore_evas_callback_delete_request_set(e_comp->ee, _cb_delete_request); ecore_evas_title_set(e_comp->ee, "Enlightenment: WL-WL"); ecore_evas_name_class_set(e_comp->ee, "E", "compositor"); diff --git a/src/modules/wl_x11/e_mod_main.c b/src/modules/wl_x11/e_mod_main.c index d4caec8c1..e64f02922 100644 --- a/src/modules/wl_x11/e_mod_main.c +++ b/src/modules/wl_x11/e_mod_main.c @@ -5,12 +5,6 @@ E_API E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Wl_X11" }; static Ecore_Event_Handler *kbd_hdlr; -static void -_cb_delete_request(Ecore_Evas *ee EINA_UNUSED) -{ - ecore_main_loop_quit(); -} - E_API void * e_modapi_init(E_Module *m) { @@ -35,7 +29,6 @@ e_modapi_init(E_Module *m) ERR("Could not create ecore_evas canvas"); return NULL; } - ecore_evas_callback_delete_request_set(e_comp->ee, _cb_delete_request); ecore_evas_title_set(e_comp->ee, "Enlightenment: WL-X11"); ecore_evas_name_class_set(e_comp->ee, "E", "compositor");