diff --git a/legacy/evas/src/lib/canvas/evas_object_smart.c b/legacy/evas/src/lib/canvas/evas_object_smart.c index 93752d35f8..87f1d7e88c 100644 --- a/legacy/evas/src/lib/canvas/evas_object_smart.c +++ b/legacy/evas/src/lib/canvas/evas_object_smart.c @@ -350,7 +350,6 @@ evas_object_smart_cleanup(Evas_Object *obj) obj->smart.parent = NULL; obj->smart.data = NULL; obj->smart.smart = NULL; - if (s) evas_object_smart_unuse(s); } /* all nice and private */ diff --git a/legacy/evas/src/lib/canvas/evas_smart.c b/legacy/evas/src/lib/canvas/evas_smart.c index 523a0b6405..a250531327 100644 --- a/legacy/evas/src/lib/canvas/evas_smart.c +++ b/legacy/evas/src/lib/canvas/evas_smart.c @@ -147,5 +147,5 @@ void evas_object_smart_unuse(Evas_Smart *s) { s->usage--; - if (s->delete_me) evas_smart_free(s); + if (!s->usage) evas_smart_free(s); }