From: Seunghun Lee Date: Wed, 5 Feb 2025 00:13:44 +0000 (+0900) Subject: e_comp_wl: Drop e_comp_wl_client_surface_finish X-Git-Tag: accepted/tizen/unified/20250206.153713~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F70%2F319170%2F1;p=platform%2Fupstream%2Fenlightenment.git e_comp_wl: Drop e_comp_wl_client_surface_finish Change-Id: Ie055560e7ddbd984fb59d5eb2fb2110c3a7c317e --- diff --git a/src/bin/server/e_comp_wl.c b/src/bin/server/e_comp_wl.c index 5f1818b9ec..726777f127 100644 --- a/src/bin/server/e_comp_wl.c +++ b/src/bin/server/e_comp_wl.c @@ -3061,50 +3061,6 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state) } } -static void -_e_comp_wl_surface_render_stop(E_Client *ec) -{ - /* check if internal animation is running */ - if (e_view_client_is_animating(e_client_view_get(ec))) return; - /* check if external animation is running */ - if (e_view_data_get(e_view_client_view_get(e_client_view_get(ec)), "effect_running")) return; - - e_view_client_hide(e_client_view_get(ec)); -} - -EINTERN void -e_comp_wl_client_surface_finish(E_Client *ec) -{ - struct wl_resource *res, *surface; - struct wl_client *surface_client = NULL; - Eina_List *l, *ll; - - surface = e_comp_wl_client_surface_get(ec); - - if (surface) - surface_client = wl_resource_get_client(surface); - - if (surface_client && - (ec == e_client_focused_get())) - { - g_rec_mutex_lock(&e_comp_input_key->kbd.focused_mutex); - EINA_LIST_FOREACH_SAFE(e_comp_input_key->kbd.focused, l, ll, res) - { - if (wl_resource_get_client(res) == - surface_client) - e_comp_input_key->kbd.focused = - eina_list_remove_list(e_comp_input_key->kbd.focused, l); - - } - g_rec_mutex_unlock(&e_comp_input_key->kbd.focused_mutex); - } - - e_comp_wl_client_surface_set(ec, NULL); - - _e_comp_wl_surface_render_stop(ec); - e_object_del(E_OBJECT(ec)); -} - static void _e_comp_wl_pname_get(pid_t pid, char *name, int size) { diff --git a/src/bin/server/e_surface_view.c b/src/bin/server/e_surface_view.c index 07d3b83865..b7910d97f6 100644 --- a/src/bin/server/e_surface_view.c +++ b/src/bin/server/e_surface_view.c @@ -6,6 +6,7 @@ #include "e_comp_wl_rsm_intern.h" #include "e_compositor_private.h" #include "e_surface_view_intern.h" +#include "e_comp_input_intern.h" #include #include @@ -54,12 +55,49 @@ _surface_view_destroy(E_Surface_View *view) free(view); } +static void +_surface_view_render_stop(E_Surface_View *view) +{ + /* check if internal animation is running */ + if (e_view_client_is_animating(e_client_view_get(view->ec))) return; + /* check if external animation is running */ + if (e_view_data_get(e_view_client_view_get(e_client_view_get(view->ec)), "effect_running")) return; + + e_view_client_hide(e_client_view_get(view->ec)); +} + static void _surface_view_cb_surface_client_destroy(struct wl_listener *listener, void *data) { E_Surface_View *view = wl_container_of(listener, view, surface_client_destroy); + struct wl_resource *res, *surface; + struct wl_client *surface_client = NULL; + Eina_List *l, *ll; + + surface = e_comp_wl_client_surface_get(view->ec); + + if (surface) + surface_client = wl_resource_get_client(surface); + + if (surface_client && + (view->ec == e_client_focused_get())) + { + g_rec_mutex_lock(&e_comp_input_key->kbd.focused_mutex); + EINA_LIST_FOREACH_SAFE(e_comp_input_key->kbd.focused, l, ll, res) + { + if (wl_resource_get_client(res) == + surface_client) + e_comp_input_key->kbd.focused = + eina_list_remove_list(e_comp_input_key->kbd.focused, l); + + } + g_rec_mutex_unlock(&e_comp_input_key->kbd.focused_mutex); + } + + e_comp_wl_client_surface_set(view->ec, NULL); - e_comp_wl_client_surface_finish(view->ec); + _surface_view_render_stop(view); + e_object_del(E_OBJECT(view->ec)); } static void