evas: do not error for smart class objects
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>
Mon, 20 Feb 2017 02:11:34 +0000 (11:11 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Mon, 20 Feb 2017 02:38:02 +0000 (11:38 +0900)
Summary: this should fix some spamming in e

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4675

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
src/lib/evas/canvas/evas_object_smart.c

index 6450d2b..0b3cb69 100644 (file)
@@ -1079,9 +1079,15 @@ evas_object_smart_del(Evas_Object *eo_obj)
    unsigned int i;
 
    if (obj->delete_me) return;
+
+   sobj = efl_data_scope_get(eo_obj, MY_CLASS);
    s = obj->smart.smart;
    if (s && s->smart_class->del)
-      s->smart_class->del(eo_obj);
+     {
+        s->smart_class->del(eo_obj);
+        //this is legacy, this will never be called..., smart things dont have inheitence
+        sobj->group_del_called = EINA_TRUE;
+     }
    else
       efl_canvas_group_del(eo_obj);
    if (obj->smart.parent) evas_object_smart_member_del(eo_obj);
@@ -1097,7 +1103,6 @@ evas_object_smart_del(Evas_Object *eo_obj)
           }
      }
 
-   sobj = efl_data_scope_get(eo_obj, MY_CLASS);
    free(sobj->interface_privates);
    sobj->interface_privates = NULL;