remove some aborts
authorCarsten Haitzler <raster@rasterman.com>
Wed, 24 Dec 2008 05:04:33 +0000 (05:04 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Wed, 24 Dec 2008 05:04:33 +0000 (05:04 +0000)
SVN revision: 38315

src/lib/elc_anchorblock.c
src/lib/elc_hoversel.c
src/lib/elm_bubble.c
src/lib/elm_widget.c

index b5c6cc8..c4626b5 100644 (file)
@@ -20,6 +20,9 @@ static void _parent_del(void *data, Evas *e, Evas_Object *obj, void *event_info)
 static void
 _del_pre_hook(Evas_Object *obj)
 {
+   Widget_Data *wd = elm_widget_data_get(obj);
+   evas_object_event_callback_del(wd->entry, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
+                                 _changed_size_hints);
    elm_anchorblock_hover_end(obj);
    elm_anchorblock_hover_parent_set(obj, NULL);
 }
index 11c7c7f..83225bc 100644 (file)
@@ -71,9 +71,9 @@ _item_clicked(void *data, Evas_Object *obj, void *event_info)
 {
    Item *it = data;
    Evas_Object *obj2 = it->obj;
+   elm_hoversel_hover_end(obj2);
    if (it->func) it->func(it->data, obj2, NULL);
    evas_object_smart_callback_call(obj2, "selected", NULL);
-   elm_hoversel_hover_end(obj2);
 }
 
 static void
index 6477dd0..c186171 100644 (file)
@@ -69,7 +69,7 @@ _sub_del(void *data, Evas_Object *obj, void *event_info)
        wd->content = NULL;
        _sizing_eval(obj);
      }
-   if (sub == wd->icon)
+   else if (sub == wd->icon)
      {
        evas_object_event_callback_del
          (sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints);
@@ -137,8 +137,8 @@ elm_bubble_content_set(Evas_Object *obj, Evas_Object *content)
        edje_object_part_swallow(wd->bbl, "elm.swallow.content", content);
        evas_object_event_callback_add(content, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
                                       _changed_size_hints, obj);
-       _sizing_eval(obj);
      }
+   _sizing_eval(obj);
 }
 
 EAPI void
@@ -154,8 +154,8 @@ elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon)
        edje_object_part_swallow(wd->bbl, "elm.swallow.icon", icon);
        evas_object_event_callback_add(icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
                                       _changed_size_hints, obj);
-       _sizing_eval(obj);
      }
+   _sizing_eval(obj);
 }
 
 EAPI void
index 913fb4d..aefae12 100644 (file)
@@ -58,14 +58,13 @@ _sub_obj_del(void *data, Evas *e, Evas_Object *obj, void *event_info)
    if (obj == sd->resize_obj)
      {
         sd->resize_obj = NULL;
-        evas_object_smart_callback_call(sd->obj, "sub-object-del", obj);
      }
    else if (obj == sd->hover_obj) sd->hover_obj = NULL;
    else
      {
         sd->subobjs = eina_list_remove(sd->subobjs, obj);
-        evas_object_smart_callback_call(sd->obj, "sub-object-del", obj);
      }
+   evas_object_smart_callback_call(sd->obj, "sub-object-del", obj);
 }
 
 static void
@@ -640,12 +639,14 @@ _smart_del(Evas_Object *obj)
      {
        evas_object_event_callback_del(sd->resize_obj, EVAS_CALLBACK_DEL, _sub_obj_del);
        sd->resize_obj = NULL;
+        evas_object_smart_callback_call(sd->obj, "sub-object-del", sd->resize_obj);
        evas_object_del(sd->resize_obj);
      }
    if (sd->hover_obj)
      {
        evas_object_event_callback_del(sd->hover_obj, EVAS_CALLBACK_DEL, _sub_obj_del);
        sd->hover_obj = NULL;
+        evas_object_smart_callback_call(sd->obj, "sub-object-del", sd->hover_obj);
        evas_object_del(sd->hover_obj);
      }
    while (sd->subobjs)
@@ -653,6 +654,7 @@ _smart_del(Evas_Object *obj)
        sobj = sd->subobjs->data;
        sd->subobjs = eina_list_remove_list(sd->subobjs, sd->subobjs);
        evas_object_event_callback_del(sobj, EVAS_CALLBACK_DEL, _sub_obj_del);
+        evas_object_smart_callback_call(sd->obj, "sub-object-del", sobj);
        evas_object_del(sobj);
      }
    if (sd->del_func) sd->del_func(obj);