ecore: first invalidate the loop and its children, then destroy all the object capabi...
authorCedric Bail <cedric@osg.samsung.com>
Wed, 2 May 2018 20:19:35 +0000 (13:19 -0700)
committerWonki Kim <wonki_.kim@samsung.com>
Fri, 1 Jun 2018 02:09:02 +0000 (11:09 +0900)
Differential Revision: https://phab.enlightenment.org/D6089

src/lib/ecore/efl_loop.c

index f85948e..3c2ca6b 100644 (file)
@@ -323,6 +323,8 @@ _efl_loop_efl_object_constructor(Eo *obj, Efl_Loop_Data *pd)
 EOLIAN static void
 _efl_loop_efl_object_invalidate(Eo *obj, Efl_Loop_Data *pd)
 {
+   efl_invalidate(efl_super(obj, EFL_LOOP_CLASS));
+
    _ecore_main_content_clear(obj, pd);
 
    // Even if we are just refcounting provider, efl_provider_find won't reach them after invalidate
@@ -345,8 +347,6 @@ _efl_loop_efl_object_invalidate(Eo *obj, Efl_Loop_Data *pd)
         _mainloop_singleton = NULL;
         _mainloop_singleton_data = NULL;
      }
-
-   efl_invalidate(efl_super(obj, EFL_LOOP_CLASS));
 }
 
 EOLIAN static void