evas_box: add safety check for adding box children to multiple boxes
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 23 Jun 2017 21:43:57 +0000 (17:43 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 23 Jun 2017 21:43:44 +0000 (17:43 -0400)
this is guaranteed to cause a crash or equally bad behavior, so ensure an
error is raised

@fix

src/lib/evas/canvas/evas_object_box.c

index 1f581f3..a5cc051 100644 (file)
@@ -190,6 +190,11 @@ EOLIAN static Evas_Object_Box_Option *
 _evas_box_internal_option_new(Eo *o EINA_UNUSED, Evas_Object_Box_Data *_pd EINA_UNUSED, Evas_Object *child)
 {
    Evas_Object_Box_Option *opt;
+   Evas_Object *parent;
+
+   parent = evas_object_smart_parent_get(child);
+   if (parent && efl_isa(parent, MY_CLASS))
+     CRI("Adding object to box which currently belongs to different box");
 
    opt = (Evas_Object_Box_Option *)malloc(sizeof(*opt));
    if (!opt)