diff options
-rw-r--r-- | src/lib/eo/eo.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index 46d69441e3..255b3ea6ca 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -1999,6 +1999,12 @@ efl_object_shutdown(void) { if (*cls_itr) eo_class_free(*cls_itr); + /* + * There is the case that a class destructor + * can call functions on a object from a class + * which is already destructed, so better NULL that out + */ + *cls_itr = NULL; } eina_lock_take(&_efl_class_creation_lock); |