efl_promise: avoid invalid calls when unsetting parent
authorCedric BAIL <cedric@osg.samsung.com>
Tue, 13 Mar 2018 16:08:25 +0000 (12:08 -0400)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 10 Apr 2018 11:10:55 +0000 (20:10 +0900)
if promise has no parent then the promise's loop is null

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
src/lib/ecore/efl_promise.c

index 3e522b4..dbec2f8 100644 (file)
@@ -708,6 +708,9 @@ _efl_promise_efl_object_parent_set(Eo *obj, Efl_Promise_Data *pd, Efl_Object *pa
 {
    if (!parent) _efl_promise_loop_clear(obj, pd);
    efl_parent_set(efl_super(obj, EFL_PROMISE_CLASS), parent);
+   pd->loop = NULL;
+   pd->loop_data = NULL;
+   if (!parent) return;
    pd->loop = efl_provider_find(obj, EFL_LOOP_CLASS);
    pd->loop_data = efl_data_scope_get(pd->loop, EFL_LOOP_CLASS);
 }