evas_object_main: fallback to other usage instead of returning NULL
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>
Thu, 24 Aug 2017 17:28:51 +0000 (19:28 +0200)
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>
Tue, 19 Sep 2017 08:34:22 +0000 (10:34 +0200)
Even if a object is on deleting or doesnt have a layer, it still can be
found in a higher hirachy.

src/lib/evas/canvas/evas_object_main.c

index 88261ed..d298efb 100644 (file)
@@ -2180,11 +2180,12 @@ _efl_canvas_object_efl_object_provider_find(Eo *eo_obj EINA_UNUSED, Evas_Object_
 {
    if (klass == EVAS_CANVAS_CLASS)
      {
-        if ((obj->delete_me) || (!obj->layer)) return NULL;
+        if ((obj->delete_me) || (!obj->layer)) goto fallback;
         return obj->layer->evas->evas;
      }
    else if (klass == EFL_LOOP_CLASS)
      return ecore_main_loop_get();
+fallback:
    return efl_provider_find(efl_super(eo_obj, MY_CLASS), klass);
 }