e_comp_wl: Drop e_comp_wl_client_surface_finish 70/319170/1
authorSeunghun Lee <shiin.lee@samsung.com>
Wed, 5 Feb 2025 00:13:44 +0000 (09:13 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Wed, 5 Feb 2025 02:01:42 +0000 (11:01 +0900)
Change-Id: Ie055560e7ddbd984fb59d5eb2fb2110c3a7c317e

src/bin/server/e_comp_wl.c
src/bin/server/e_surface_view.c

index 5f1818b9ec1d6f3ee5ea6a1a24b6f8d7105ee84e..726777f127c8ce936828d46b17f4a08db5246e0e 100644 (file)
@@ -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)
 {
index 07d3b838659421b0990b4500d0d62bd580d0bad1..b7910d97f6986cdb676f2f2fe6643505b01d00a7 100644 (file)
@@ -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 <stdlib.h>
 #include <wayland-util.h>
@@ -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