ecore: rely on object being destroyed on parent invalidate.
authorCedric Bail <cedric@osg.samsung.com>
Thu, 22 Mar 2018 01:20:53 +0000 (18:20 -0700)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 10 Apr 2018 13:26:00 +0000 (22:26 +0900)
src/lib/ecore/efl_app.c
src/lib/ecore/efl_app.eo

index 1df43d5..8078ae1 100644 (file)
@@ -148,26 +148,23 @@ _efl_app_efl_object_constructor(Eo *obj, Efl_App_Data *pd)
    pd->fd.in_handler =
      efl_add(EFL_LOOP_HANDLER_CLASS, obj,
              efl_loop_handler_fd_set(efl_added, pd->fd.in),
-             efl_event_callback_add
-               (efl_added, EFL_LOOP_HANDLER_EVENT_WRITE, _cb_in, obj));
+             efl_event_callback_add(efl_added, EFL_LOOP_HANDLER_EVENT_WRITE, _cb_in, obj));
    pd->fd.out_handler =
      efl_add(EFL_LOOP_HANDLER_CLASS, obj,
              efl_loop_handler_fd_set(efl_added, pd->fd.out),
-             efl_event_callback_add
-               (efl_added, EFL_LOOP_HANDLER_EVENT_READ, _cb_out, obj));
+             efl_event_callback_add(efl_added, EFL_LOOP_HANDLER_EVENT_READ, _cb_out, obj));
    return obj;
 }
 
 EOLIAN static void
-_efl_app_efl_object_destructor(Eo *obj, Efl_App_Data *pd)
+_efl_app_efl_object_invalidate(Eo *obj, Efl_App_Data *pd)
 {
-   efl_del(pd->fd.in_handler);
-   efl_del(pd->fd.out_handler);
    pd->fd.in_handler = NULL;
    pd->fd.out_handler = NULL;
    pd->fd.in = -1;
    pd->fd.out = -1;
-   efl_destructor(efl_super(obj, MY_CLASS));
+
+   efl_invalidate(efl_super(obj, MY_CLASS));
 }
 
 EOLIAN static Eina_Error
index 97e0895..54724e3 100644 (file)
@@ -44,7 +44,7 @@ class Efl.App (Efl.Loop)
    }
    implements {
       Efl.Object.constructor;
-      Efl.Object.destructor;
+      Efl.Object.invalidate;
       Efl.Io.Closer.close;
       Efl.Io.Closer.closed { get; }
       Efl.Io.Reader.read;