From 882718582480cc800b5b162f3cc3792159852ad9 Mon Sep 17 00:00:00 2001 From: Gustavo Lima Chaves Date: Thu, 30 Aug 2012 16:46:20 +0000 Subject: [PATCH] [elm] More safety for box deletion. SVN revision: 75896 --- legacy/elementary/src/lib/elm_box.c | 5 +++++ legacy/elementary/src/lib/elm_widget_box.h | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/legacy/elementary/src/lib/elm_box.c b/legacy/elementary/src/lib/elm_box.c index ed3916c9e0..9d81a1a9fc 100644 --- a/legacy/elementary/src/lib/elm_box.c +++ b/legacy/elementary/src/lib/elm_box.c @@ -120,6 +120,9 @@ _sizing_eval(Evas_Object *obj) ELM_BOX_DATA_GET(obj, sd); + if (sd->on_deletion) + return; + evas_object_size_hint_min_get (ELM_WIDGET_DATA(sd)->resize_obj, &minw, &minh); evas_object_size_hint_max_get @@ -390,6 +393,8 @@ _elm_box_smart_del(Evas_Object *obj) ELM_BOX_DATA_GET(obj, sd); + sd->on_deletion = EINA_TRUE; + evas_object_event_callback_del_full (ELM_WIDGET_DATA(sd)->resize_obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_size_hints_changed, obj); diff --git a/legacy/elementary/src/lib/elm_widget_box.h b/legacy/elementary/src/lib/elm_widget_box.h index f01c4b3bbc..3c25c95d7a 100644 --- a/legacy/elementary/src/lib/elm_widget_box.h +++ b/legacy/elementary/src/lib/elm_widget_box.h @@ -122,8 +122,9 @@ struct _Elm_Box_Smart_Data * first member obligatory, as * we're inheriting from it */ - Eina_Bool horizontal : 1; Eina_Bool homogeneous : 1; + Eina_Bool on_deletion : 1; + Eina_Bool horizontal : 1; Eina_Bool recalc : 1; };