e_view: delete evas object event callback of views when they destroyed 53/322553/1
authorJunseok Kim <juns.kim@samsung.com>
Thu, 10 Apr 2025 10:13:51 +0000 (19:13 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 10 Apr 2025 23:53:28 +0000 (08:53 +0900)
Change-Id: I71347c6b8a1026d93f2e1c1e2deffb68873403b4

src/bin/core/e_view_client.c
src/bin/core/e_view_image.c
src/bin/core/e_view_rect.c

index c7637de6a4479afc394a208dc4485218007062ac..d308dbd847f13b6ff11a1303ec609f288d23e426 100644 (file)
@@ -15,6 +15,7 @@
 E_View_Tree_Impl view_client_tree_impl;
 
 static void _view_client_handle_destroy(E_View *view);
+static void _view_client_evas_object_cb_resize(void *data, Evas *e, Evas_Object *obj, void *event_info);
 
 static const E_View_Impl view_client_impl = {
      .destroy = _view_client_handle_destroy,
@@ -131,6 +132,8 @@ _view_client_handle_destroy(E_View *view)
    E_View_Client *client = e_view_client_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);
+
    e_view_data_del(&client->view, "E_Client");
 
    if (!wl_list_empty(&client->mirror))
index edadbfe742d3ced1a237acd78fd91ed6d6fef52d..b976fdf38ded88627654870ea267dd7a22b85722 100644 (file)
@@ -29,6 +29,7 @@ struct _E_View_Image
 \r
 static E_View_Image *_view_image_from_view(E_View *view);\r
 static void _view_image_handle_destroy(E_View *view);\r
+static void _view_image_evas_object_cb_resize(void *data, Evas *e, Evas_Object *obj, void *event_info);\r
 \r
 const static E_View_Impl view_image_impl = {\r
      .destroy = _view_image_handle_destroy,\r
@@ -47,6 +48,8 @@ _view_image_handle_destroy(E_View *view)
 {\r
    E_View_Image *image = _view_image_from_view(view);\r
 \r
+   evas_object_event_callback_del(image->view.eo, EVAS_CALLBACK_RESIZE, _view_image_evas_object_cb_resize);\r
+\r
    evas_object_del(view->eo);\r
    free(image);\r
 }\r
index 45a884979d3ef932287f3329034a7248866d3447..3fdce6af1c1ee29770a570198e036ea2da349aad 100644 (file)
@@ -20,6 +20,7 @@ struct _E_View_Rect
 
 static E_View_Rect *_view_rect_from_view(E_View *view);
 static void _view_rect_handle_destroy(E_View *view);
+static void _view_rect_evas_object_cb_resize(void *data, Evas *e, Evas_Object *obj, void *event_info);
 
 const static E_View_Impl view_rect_impl = {
      .destroy = _view_rect_handle_destroy,
@@ -38,6 +39,8 @@ _view_rect_handle_destroy(E_View *view)
 {
    E_View_Rect *rect = _view_rect_from_view(view);
 
+   evas_object_event_callback_del(rect->view.eo, EVAS_CALLBACK_RESIZE, _view_rect_evas_object_cb_resize);
+
    evas_object_del(view->eo);
    free(rect);
 }