cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bc18b7e7ad1f8c5d587400b27fabab0865017011

commit bc18b7e7ad1f8c5d587400b27fabab0865017011
Author: Cedric BAIL <[email protected]>
Date:   Tue Mar 20 13:21:19 2018 -0400

    efl: replace efl_del with efl_unref for cases where no parent exists
    
    Signed-off-by: Mike Blumenkrantz <[email protected]>
---
 src/lib/ecore/efl_model_accessor_view.c |  2 +-
 src/lib/ecore_con/ecore_con_legacy.c    |  5 ++--
 src/lib/ecore_evas/ecore_evas.c         |  2 +-
 src/lib/edje/edje_part_helper.h         |  2 +-
 src/lib/evas/canvas/efl_input_focus.c   |  7 ++++--
 src/lib/evas/canvas/efl_input_key.c     |  7 ++++--
 src/lib/evas/canvas/efl_input_pointer.c |  7 ++++--
 src/lib/evas/canvas/evas_events.c       | 42 ++++++++++++++++-----------------
 src/lib/evas/filters/evas_filter.c      |  2 +-
 src/tests/eo/suite/eo_test_general.c    |  4 ++--
 10 files changed, 45 insertions(+), 35 deletions(-)

diff --git a/src/lib/ecore/efl_model_accessor_view.c 
b/src/lib/ecore/efl_model_accessor_view.c
index 2afe1dc8f3..a73e9459a5 100644
--- a/src/lib/ecore/efl_model_accessor_view.c
+++ b/src/lib/ecore/efl_model_accessor_view.c
@@ -68,7 +68,7 @@ _efl_model_acessor_free(Efl_Model_Accessor *acc)
        
         EINA_ARRAY_ITER_NEXT(acc->children, i, item, iterator)
           {
-            efl_del(item);
+            efl_unref(item);
           }
         eina_array_free(acc->children);
         acc->children = NULL;
diff --git a/src/lib/ecore_con/ecore_con_legacy.c 
b/src/lib/ecore_con/ecore_con_legacy.c
index ecdb187761..8b5055589c 100644
--- a/src/lib/ecore_con/ecore_con_legacy.c
+++ b/src/lib/ecore_con/ecore_con_legacy.c
@@ -277,12 +277,13 @@ _ecore_con_client_free(Ecore_Con_Client *cl)
 
    if (cl->socket)
      {
-        Eo *inner_socket = efl_io_buffered_stream_inner_io_get(cl->socket);
+        Eo *parent, *inner_socket = 
efl_io_buffered_stream_inner_io_get(cl->socket);
         efl_event_callback_array_del(cl->socket, 
_ecore_con_client_socket_cbs(), cl);
         if (efl_isa(inner_socket, EFL_NET_SOCKET_SSL_CLASS))
           efl_event_callback_array_del(inner_socket, 
_ecore_con_client_socket_ssl_cbs(), cl);
 
-        if (efl_parent_get(cl->socket) != cl->svr->server)
+        parent = efl_parent_get(cl->socket);
+        if (parent && (parent != cl->svr->server))
           efl_del(cl->socket); /* we own it */
         else
           efl_unref(cl->socket);
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 4348da8084..f20bd0b9aa 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -4695,7 +4695,7 @@ _direct_mouse_updown(Ecore_Evas *ee, const 
Ecore_Event_Mouse_Button *info, Efl_P
 
    efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt);
    processed = ev->evas_done;
-   efl_del(evt);
+   efl_unref(evt);
 
    return processed;
 }
diff --git a/src/lib/edje/edje_part_helper.h b/src/lib/edje/edje_part_helper.h
index 0af166aef7..cfe31e7eb1 100644
--- a/src/lib/edje/edje_part_helper.h
+++ b/src/lib/edje/edje_part_helper.h
@@ -52,7 +52,7 @@ _part_proxy_del_cb(Eo *proxy, Eo **static_var)
    do { if (PROXY_STATIC_VAR(type)) \
      { \
         efl_del_intercept_set(PROXY_STATIC_VAR(type), NULL); \
-        efl_del(PROXY_STATIC_VAR(type)); \
+        efl_unref(PROXY_STATIC_VAR(type)); \
         PROXY_STATIC_VAR(type) = NULL; \
      } } while (0)
 
diff --git a/src/lib/evas/canvas/efl_input_focus.c 
b/src/lib/evas/canvas/efl_input_focus.c
index abf1c735ae..239b5309b3 100644
--- a/src/lib/evas/canvas/efl_input_focus.c
+++ b/src/lib/evas/canvas/efl_input_focus.c
@@ -32,7 +32,7 @@ _del_hook(Eo *evt)
    else
      {
         efl_del_intercept_set(evt, NULL);
-        efl_del(evt);
+        efl_unref(evt);
      }
 }
 
@@ -64,7 +64,10 @@ _efl_input_focus_class_destructor(Efl_Class *klass 
EINA_UNUSED)
 {
    // this is a strange situation...
    efl_del_intercept_set(s_cached_event, NULL);
-   efl_del(s_cached_event);
+   if (efl_parent_get(s_cached_event))
+     efl_del(s_cached_event);
+   else
+     efl_unref(s_cached_event);
    s_cached_event = NULL;
 }
 
diff --git a/src/lib/evas/canvas/efl_input_key.c 
b/src/lib/evas/canvas/efl_input_key.c
index c6b8061211..c2cff2add5 100644
--- a/src/lib/evas/canvas/efl_input_key.c
+++ b/src/lib/evas/canvas/efl_input_key.c
@@ -31,7 +31,7 @@ _del_hook(Eo *evt)
    else
      {
         efl_del_intercept_set(evt, NULL);
-        efl_del(evt);
+        efl_unref(evt);
      }
 }
 
@@ -75,7 +75,10 @@ _efl_input_key_class_destructor(Efl_Class *klass EINA_UNUSED)
 {
    // this is a strange situation...
    efl_del_intercept_set(s_cached_event, NULL);
-   efl_del(s_cached_event);
+   if (efl_parent_get(s_cached_event))
+     efl_del(s_cached_event);
+   else
+     efl_unref(s_cached_event);
    s_cached_event = NULL;
 }
 
diff --git a/src/lib/evas/canvas/efl_input_pointer.c 
b/src/lib/evas/canvas/efl_input_pointer.c
index 282ffeaf8d..d2e565f2a7 100644
--- a/src/lib/evas/canvas/efl_input_pointer.c
+++ b/src/lib/evas/canvas/efl_input_pointer.c
@@ -42,7 +42,7 @@ _del_hook(Eo *evt)
    else
      {
         efl_del_intercept_set(evt, NULL);
-        efl_del(evt);
+        efl_unref(evt);
      }
 }
 
@@ -105,7 +105,10 @@ _efl_input_pointer_class_destructor(Efl_Class *klass 
EINA_UNUSED)
 {
    // this is a strange situation...
    efl_del_intercept_set(s_cached_event, NULL);
-   efl_del(s_cached_event);
+   if (efl_parent_get(s_cached_event))
+     efl_del(s_cached_event);
+   else
+     efl_unref(s_cached_event);
    s_cached_event = NULL;
 }
 
diff --git a/src/lib/evas/canvas/evas_events.c 
b/src/lib/evas/canvas/evas_events.c
index 148ac173bc..71eb04682a 100644
--- a/src/lib/evas/canvas/evas_events.c
+++ b/src/lib/evas/canvas/evas_events.c
@@ -551,7 +551,7 @@ _evas_event_source_mouse_down_events(Evas_Object *eo_obj, 
Evas *eo_e,
      }
    eina_list_free(copy);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -765,7 +765,7 @@ _evas_event_source_mouse_move_events(Evas_Object *eo_obj, 
Evas *eo_e,
           }
      }
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -833,7 +833,7 @@ _evas_event_source_mouse_up_events(Evas_Object *eo_obj, 
Evas *eo_e,
      }
    eina_list_free(copy);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -915,7 +915,7 @@ _evas_event_source_wheel_events(Evas_Object *eo_obj, Evas 
*eo_e,
      }
    eina_list_free(copy);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -983,7 +983,7 @@ 
_evas_event_source_multi_down_events(Evas_Object_Protected_Data *obj, Evas_Publi
      }
    eina_list_free(copy);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -1041,7 +1041,7 @@ 
_evas_event_source_multi_up_events(Evas_Object_Protected_Data *obj, Evas_Public_
      }
     eina_list_free(copy);
 
-    efl_del(evt);
+    efl_unref(evt);
 }
 
 static void
@@ -1156,7 +1156,7 @@ 
_evas_event_source_multi_move_events(Evas_Object_Protected_Data *obj, Evas_Publi
           eina_list_free(ins);
      }
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -1246,7 +1246,7 @@ _evas_event_source_mouse_in_events(Evas_Object *eo_obj, 
Evas *eo_e,
      }
    EINA_COW_WRITE_END(evas_object_proxy_cow, src->proxy, proxy_write);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -1307,7 +1307,7 @@ _evas_event_source_mouse_out_events(Evas_Object *eo_obj, 
Evas *eo_e,
      proxy_write->src_event_in = eina_list_free(proxy_write->src_event_in);
    EINA_COW_WRITE_END(evas_object_proxy_cow, src->proxy, proxy_write);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static Eina_List *
@@ -1701,7 +1701,7 @@ _post_up_handle(Evas_Public_Data *e, Efl_Input_Pointer 
*parent_ev,
    if (pdata->seat->inside)
      _evas_canvas_event_pointer_move_event_dispatch(e, pdata, ev->data);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -1850,7 +1850,7 @@ _canvas_event_feed_mouse_updown(Eo *eo_e, int b, 
Evas_Button_Flags flags,
    else
      _canvas_event_feed_mouse_up_internal(e, ev);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -1952,7 +1952,7 @@ evas_event_feed_mouse_cancel(Eo *eo_e, unsigned int 
timestamp, const void *data)
 
    _canvas_event_feed_mouse_cancel_internal(e, ev);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -2024,7 +2024,7 @@ _canvas_event_feed_mouse_wheel_internal(Eo *eo_e, 
Efl_Input_Pointer_Data *pe)
    eina_list_free(copy);
    _evas_post_event_callback_call(eo_e, e, event_id);
 
-   efl_del(evt);
+   efl_unref(evt);
    _evas_unwalk(e);
 }
 
@@ -2044,7 +2044,7 @@ evas_event_feed_mouse_wheel(Eo *eo_e, int direction, int 
z, unsigned int timesta
    ev->device = efl_ref(_evas_event_legacy_device_get(eo_e, EINA_TRUE));
 
    _canvas_event_feed_mouse_wheel_internal(eo_e, ev);
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -2485,7 +2485,7 @@ _canvas_event_feed_mouse_move_legacy(Evas *eo_e, 
Evas_Public_Data *e, int x, int
 
    _canvas_event_feed_mouse_move_internal(e, ev);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 EAPI void
@@ -2713,7 +2713,7 @@ _canvas_event_feed_mouse_inout_legacy(Eo *eo_e, unsigned 
int timestamp,
    else
      _canvas_event_feed_mouse_out_internal(eo_e, ev);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 EAPI void
@@ -2961,7 +2961,7 @@ _canvas_event_feed_multi_internal(Evas *eo_e, 
Evas_Public_Data *e,
       default: break;
      }
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 EAPI void
@@ -3414,7 +3414,7 @@ _canvas_event_feed_key_legacy(Eo *eo_e, Evas_Public_Data 
*e,
    else
      _canvas_event_feed_key_up_internal(e, ev);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 EAPI void
@@ -3502,7 +3502,7 @@ evas_event_feed_hold(Eo *eo_e, int hold, unsigned int 
timestamp, const void *dat
    _evas_unwalk(e);
    _evas_object_event_new();
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 void
@@ -3671,7 +3671,7 @@ evas_event_feed_axis_update(Evas *eo_e, unsigned int 
timestamp, int device, int
 
    _canvas_event_feed_axis_update_internal(e, ev);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 static void
@@ -4194,7 +4194,7 @@ 
_evas_canvas_event_pointer_move_event_dispatch(Evas_Public_Data *edata,
 
    _canvas_event_feed_mouse_move_internal(edata, ev);
 
-   efl_del(evt);
+   efl_unref(evt);
 }
 
 void
diff --git a/src/lib/evas/filters/evas_filter.c 
b/src/lib/evas/filters/evas_filter.c
index 135d20b2bc..fcbad016f2 100644
--- a/src/lib/evas/filters/evas_filter.c
+++ b/src/lib/evas/filters/evas_filter.c
@@ -116,7 +116,7 @@ static void
 _filter_buffer_backing_free(Evas_Filter_Buffer *fb)
 {
    if (!fb || !fb->buffer) return;
-   efl_del(fb->buffer);
+   efl_unref(fb->buffer);
    fb->buffer = NULL;
 }
 
diff --git a/src/tests/eo/suite/eo_test_general.c 
b/src/tests/eo/suite/eo_test_general.c
index 169db5b889..a9cba7d449 100644
--- a/src/tests/eo/suite/eo_test_general.c
+++ b/src/tests/eo/suite/eo_test_general.c
@@ -656,7 +656,7 @@ START_TEST(efl_refs)
    fail_if(!efl_invalidated_get(obj3));
 
    efl_unref(obj);
-   efl_del(obj2);
+   efl_unref(obj2);
    efl_unref(obj3);
 
    /* Setting and removing parents for add_ref */
@@ -681,7 +681,7 @@ START_TEST(efl_refs)
    fail_if(!efl_invalidated_get(obj3));
 
    efl_unref(obj);
-   efl_del(obj2);
+   efl_unref(obj2);
    efl_unref(obj3);
 
    /* Just check it doesn't seg atm. */

-- 


Reply via email to