diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-11-07 13:05:18 -0500 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-11-07 13:05:18 -0500 |
commit | f0cc657e4c7fcea5ff1ccdde7602516c65e24ea1 (patch) | |
tree | ec02ca92046fa970046d9686c3ceb197f55a0323 | |
parent | 4250a148614d495bf5b3bdfccf3eef5a5c8835c7 (diff) | |
download | enlightenment-f0cc657e4c7fcea5ff1ccdde7602516c65e24ea1.tar.gz |
break out x11 client visibility setting into util functions
-rw-r--r-- | src/bin/e_comp_x.c | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index 5b17abe167..3a504dcbff 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -961,22 +961,29 @@ _e_comp_x_evas_resize_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_i } static void -_e_comp_x_evas_hide_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +_e_comp_x_client_hide(E_Client *ec) { - E_Client *ec = data, *tmp; unsigned int visible = 0; - Eina_List *l; - if (!_e_comp_x_client_data_get(ec)) return; // already deleted, happens with internal wins ecore_x_window_shadow_tree_flush(); if ((!ec->iconic) && (!ec->override)) ecore_x_window_prop_card32_set(e_client_util_win_get(ec), E_ATOM_MAPPED, &visible, 1); - EINA_LIST_FOREACH(ec->e.state.video_child, l, tmp) - evas_object_hide(tmp->frame); - if (ec->unredirected_single || ec->iconic) ecore_x_window_hide(_e_comp_x_client_window_get(ec)); +} + +static void +_e_comp_x_evas_hide_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + E_Client *ec = data, *tmp; + Eina_List *l; + + if (!_e_comp_x_client_data_get(ec)) return; // already deleted, happens with internal wins + _e_comp_x_client_hide(ec); + + EINA_LIST_FOREACH(ec->e.state.video_child, l, tmp) + evas_object_hide(tmp->frame); if (e_comp_config_get()->send_flush) ecore_x_e_comp_flush_send(e_client_util_win_get(ec)); @@ -985,14 +992,11 @@ _e_comp_x_evas_hide_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UN } static void -_e_comp_x_evas_show_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +_e_comp_x_client_show(E_Client *ec) { - E_Client *ec = data, *tmp; unsigned int visible = 1; Ecore_X_Window win; - Eina_List *l; - if (!_e_comp_x_client_data_get(ec)) return; win = e_client_util_win_get(ec); ecore_x_window_shadow_tree_flush(); if (!_e_comp_x_client_data_get(ec)->need_reparent) @@ -1007,6 +1011,16 @@ _e_comp_x_evas_show_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UN ecore_x_window_prop_card32_set(win, E_ATOM_MAPPED, &visible, 1); ecore_x_window_prop_card32_set(win, E_ATOM_MANAGED, &visible, 1); +} + +static void +_e_comp_x_evas_show_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + E_Client *ec = data, *tmp; + Eina_List *l; + + if (!_e_comp_x_client_data_get(ec)) return; + _e_comp_x_client_show(ec); if (_e_comp_x_client_data_get(ec)->frame_update) { |