fix sub object add for e widgets... will be happy to let elm do this
authorCarsten Haitzler <raster@rasterman.com>
Mon, 28 Nov 2011 11:40:18 +0000 (11:40 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Mon, 28 Nov 2011 11:40:18 +0000 (11:40 +0000)
in future :)

SVN revision: 65644

src/bin/e_widget.c

index 886837d..fdff6b1 100644 (file)
@@ -141,7 +141,7 @@ e_widget_sub_object_add(Evas_Object *obj, Evas_Object *sobj)
 {
    API_ENTRY return;
    
-   if (eina_list_data_find(sd->subobjs, obj)) return;
+   if (eina_list_data_find(sd->subobjs, sobj)) return;
    
    evas_object_event_callback_del(sobj, EVAS_CALLBACK_DEL, _sub_obj_del);
    
@@ -514,19 +514,13 @@ static void
 _e_smart_del(Evas_Object *obj)
 {
    INTERNAL_ENTRY;
-   void *po = NULL;
    
    if (sd->del_func) sd->del_func(obj);
    while (sd->subobjs)
      {
-        if (sd->subobjs->data == po)
-          {
-             po = sd->subobjs->data;
-             sd->subobjs = eina_list_remove_list(sd->subobjs, sd->subobjs);
-             continue;
-          }
-        po = sd->subobjs->data;
-        evas_object_del(sd->subobjs->data);
+        Evas_Object *sobj = sd->subobjs->data;
+        evas_object_del(sobj);
+        sd->subobjs = eina_list_remove(sd->subobjs, sobj);
      }
    free(sd);
 }