e_view_client : move e_view_client_from_view as E_API 31/323631/1
authorjinbong.lee <jinbong.lee@samsung.com>
Thu, 1 May 2025 10:45:31 +0000 (19:45 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 1 May 2025 11:26:28 +0000 (20:26 +0900)
Change-Id: Iaf0dedc638025ece533dd73d4462dc91e07dabe1
Signed-off-by: jinbong.lee <jinbong.lee@samsung.com>
src/bin/core/e_canvas.c
src/bin/core/e_view_client.c
src/bin/core/e_view_client_intern.h
src/bin/core/e_view_layout.c
src/include/e_view_client.h

index bf3f7160bb3865afbe07dddb78d29ef01fbf6156..06f6bc1c4628d7e09de27b1fea110d94b093879d 100644 (file)
@@ -388,7 +388,7 @@ _view_tree_input_acceptable_view_client_at(E_View_Tree *tree, int x, int y)
           }
         else if (view->type == E_VIEW_TYPE_CLIENT)
           {
-             view_client = e_view_client_from_view(view);
+             view_client = e_view_client_try_from_view(view);
              if (e_view_client_is_input_acceptable(view_client, x, y))
                return view_client;
           }
index d4192d27235eabcbc9c906f0a184d33d6e75a5a5..e9d65b059226444e8b2cffc856b36875e96a07bc 100644 (file)
@@ -133,7 +133,7 @@ _e_view_client_map_transform_rect(E_Client *ec, int sx, int sy, int sw, int sh,
 static void
 _view_client_handle_destroy(E_View *view)
 {
-   E_View_Client *client = e_view_client_from_view(view);
+   E_View_Client *client = e_view_client_try_from_view(view);
    E_View_Client_Mirror *mirror, *mirror_tmp;
 
    evas_object_event_callback_del(client->view.eo, EVAS_CALLBACK_RESIZE, _view_client_evas_object_cb_resize);
@@ -289,12 +289,14 @@ e_view_client_create(E_Client *ec, E_View_Tree *parent)
    return client;
 }
 
-EINTERN E_View_Client *
-e_view_client_from_view(E_View *view)
+E_API E_View_Client *
+e_view_client_try_from_view(E_View *view)
 {
    E_View_Client *client;
 
-   assert(view->impl == (E_View_Impl*)&view_client_impl);
+   if(view->impl != (E_View_Impl*)&view_client_impl)
+     return NULL;
+
    return wl_container_of(view, client, view);
 }
 
index ae0b413d09220d21e952d0be0411a06f1e0df3f3..466b139e7fac8b5a6842519d1cbf73bf53291d46 100644 (file)
@@ -9,7 +9,6 @@ extern "C" {
 #include "e_view_edje_intern.h"
 
 E_View_Client *e_view_client_create(E_Client *ec, E_View_Tree *parent);
-E_View_Client *e_view_client_from_view(E_View *view);
 void e_view_client_render_update_del(E_View_Client *view_client);
 bool e_view_client_alpha_get(E_View_Client *client);
 bool e_view_client_color_visible_get(E_View_Client *client);
index be30528b456098a09bef919844bef37d4634d70c..ed46a0f15c64454bfe6d420ce0f593e87d569386 100644 (file)
@@ -48,7 +48,7 @@ _e_view_layout_move_resize_item(E_View_Layout_Item *li)
                            MAX((li->h * li->layout->h) / li->layout->vh, 1));
 #ifndef E_VIEW_TEST
    else if (li->view->type == E_VIEW_TYPE_CLIENT)
-     e_view_client_size_set(e_view_client_from_view(li->view),
+     e_view_client_size_set(e_view_client_try_from_view(li->view),
                           MAX((li->w * li->layout->w) / li->layout->vw, 1),
                            MAX((li->h * li->layout->h) / li->layout->vh, 1));
    else if (li->view->type == E_VIEW_TYPE_EDJE)
index 12fa8aca1ba3fcc6b4e46ff9fcc961acba051822..07f8c27d25a670a35ff7c21dc9dccf5c879e5bce 100644 (file)
@@ -24,6 +24,7 @@ typedef void (*_E_View_Client_Signal_Cb) (void *data, E_View_Client *client, con
 typedef _E_View_Client_Signal_Cb E_View_Client_Signal_Cb;
 
 E_View *e_view_client_view_get(E_View_Client *client);
+E_View_Client *e_view_client_try_from_view(E_View *view);
 
 bool e_view_client_external_view_image_set(E_View_Client *client, E_View_Image *view_image);
 bool e_view_client_external_view_edje_set(E_View_Client *client, E_View_Edje *view_edje);