From f570e7435e66f0272a8c8a4c5ee4f6db475db41c Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Wed, 1 Aug 2018 16:41:45 +0200 Subject: [PATCH] elm-containers: use alive api check if the object is in its correct lifetime before performing operations Differential Revision: https://phab.enlightenment.org/D6724 --- src/lib/elementary/efl_ui_box.c | 1 + src/lib/elementary/efl_ui_layout_object.c | 2 ++ src/lib/elementary/efl_ui_table.c | 1 + src/lib/elementary/elm_box.c | 1 + src/lib/elementary/elm_table.c | 1 + 5 files changed, 6 insertions(+) diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c index c1bd2d8161..a00e643e0e 100644 --- a/src/lib/elementary/efl_ui_box.c +++ b/src/lib/elementary/efl_ui_box.c @@ -41,6 +41,7 @@ _sizing_eval(Evas_Object *obj, Efl_Ui_Box_Data *sd) ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + if (!efl_alive_get(obj)) return; if (sd->delete_me) return; diff --git a/src/lib/elementary/efl_ui_layout_object.c b/src/lib/elementary/efl_ui_layout_object.c index e95af94338..fd11223f2e 100644 --- a/src/lib/elementary/efl_ui_layout_object.c +++ b/src/lib/elementary/efl_ui_layout_object.c @@ -155,6 +155,8 @@ _sizing_eval(Evas_Object *obj, Efl_Ui_Layout_Object_Data *sd) Evas_Coord rest_w = 0, rest_h = 0; ELM_WIDGET_DATA_GET_OR_RETURN(sd->obj, wd); + if (!efl_alive_get(obj)) return; + if (sd->restricted_calc_w) rest_w = wd->w; if (sd->restricted_calc_h) diff --git a/src/lib/elementary/efl_ui_table.c b/src/lib/elementary/efl_ui_table.c index 176c57d212..fa1a6e45b8 100644 --- a/src/lib/elementary/efl_ui_table.c +++ b/src/lib/elementary/efl_ui_table.c @@ -53,6 +53,7 @@ _sizing_eval(Evas_Object *obj, Efl_Ui_Table_Data *pd EINA_UNUSED) Evas_Coord w, h; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + if (!efl_alive_get(obj)) return; evas_object_size_hint_combined_min_get(wd->resize_obj, &minw, &minh); evas_object_size_hint_max_get(wd->resize_obj, &maxw, &maxh); diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c index dd8509e7ae..369a19f99c 100644 --- a/src/lib/elementary/elm_box.c +++ b/src/lib/elementary/elm_box.c @@ -79,6 +79,7 @@ _sizing_eval(Evas_Object *obj) ELM_BOX_DATA_GET(obj, sd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + if (!efl_alive_get(obj)) return; if (sd->delete_me) return; evas_object_size_hint_combined_min_get(wd->resize_obj, &minw, &minh); diff --git a/src/lib/elementary/elm_table.c b/src/lib/elementary/elm_table.c index 5cab078534..df838be453 100644 --- a/src/lib/elementary/elm_table.c +++ b/src/lib/elementary/elm_table.c @@ -59,6 +59,7 @@ _sizing_eval(Evas_Object *obj) Evas_Coord minw = 0, minh = 0; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + if (!efl_alive_get(obj)) return; evas_object_size_hint_combined_min_get(wd->resize_obj, &minw, &minh); evas_object_size_hint_min_set(obj, minw, minh);