raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=55d8156414012e718a7e7adb3f9cd33e19744dc1

commit 55d8156414012e718a7e7adb3f9cd33e19744dc1
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Tue Nov 26 17:01:26 2013 +0900

    eo - base class protection against NULL old_parent_pd
    
    bug T569 still shows that we have cases where, during e shutdown, we
    still get eo_data_scope_get() return NULL for a parent object.
    whatever this is, segfaulting is much worse than protecting and
    marching on. so protect
---
 src/lib/eo/eo_base_class.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index 772683c..8d137e1 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -131,8 +131,9 @@ _parent_set(Eo *obj, void *class_data, va_list *list)
         Private_Data *old_parent_pd;
 
         old_parent_pd = eo_data_scope_get(pd->parent, EO_BASE_CLASS);
-        old_parent_pd->children = eina_list_remove(old_parent_pd->children,
-                                                   obj);
+        if (old_parent_pd)
+          old_parent_pd->children = eina_list_remove(old_parent_pd->children,
+                                                     obj);
         eo_xunref(obj, pd->parent);
      }
 

-- 


Reply via email to