|author||Tom Hacohen <email@example.com>||2015-08-26 14:17:26 +0100|
|committer||Tom Hacohen <firstname.lastname@example.org>||2015-08-26 14:17:28 +0100|
Eo base: print an error when an object with a parent is destructed.
This should not happen. Objects with parents must have their parents unset before they reach refcount == 0. That's because the parent is the one holding the refcount. This means that if we get to the destructor (object is deleted) while a parent is still set, we have an error scenario.
1 files changed, 1 insertions, 3 deletions
|@@ -993,9 +993,7 @@ _eo_base_destructor(Eo *obj, Eo_Base_Data *pd)|
|994||if (pd->parent)||994||if (pd->parent)|
|996||/* If we have a parent still at the time of destruction, it means that||996||ERR("Object '%p' still has a parent at the time of destruction.", obj);|
|997||* ref was already (arguably erroneously unrefed) so we need to ref|
|998||* before it gets unrefed again. */|
|1000||eo_do(obj, eo_parent_set(NULL));||998||eo_do(obj, eo_parent_set(NULL));|