raster pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=0a4b0962b67eb2c1733dd22e37b16a4abf2f09b4
commit 0a4b0962b67eb2c1733dd22e37b16a4abf2f09b4 Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Sun Mar 22 14:33:22 2020 +0000 dont segv on shelf settings dialog closing beofre shelf content fixes T8635 --- src/modules/conf_shelves/e_int_config_shelf.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/modules/conf_shelves/e_int_config_shelf.c b/src/modules/conf_shelves/e_int_config_shelf.c index c28bebd50..aa14e7351 100644 --- a/src/modules/conf_shelves/e_int_config_shelf.c +++ b/src/modules/conf_shelves/e_int_config_shelf.c @@ -163,6 +163,7 @@ _basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data static void _ilist_refresh(E_Shelf *es EINA_UNUSED) { + if (!_cfdata) return; _ilist_empty(_cfdata); _ilist_fill(_cfdata); } @@ -318,6 +319,7 @@ _ilist_fill(E_Config_Dialog_Data *cfdata) static void _ilist_cb_selected(void *data EINA_UNUSED) { + if (!_cfdata) return; _widgets_disable(_cfdata, 0, EINA_TRUE); } @@ -401,7 +403,8 @@ _cb_dialog_yes(void *data) E_Shelf *es; E_Config_Dialog_Data *cfdata = _cfdata; - es = data;; + if (!_cfdata) return; + es = data; if (e_object_is_del(E_OBJECT(es))) return; e_shelf_unsave(es); e_object_del(E_OBJECT(es)); @@ -417,7 +420,8 @@ _cb_dialog_destroy(void *data) E_Shelf *es; E_Config_Dialog_Data *cfdata = _cfdata; - es = data;; + if (!_cfdata) return; + es = data; if (e_object_is_del(E_OBJECT(es))) return; e_object_unref(E_OBJECT(es)); _widgets_disable(cfdata, 0, EINA_TRUE); @@ -426,6 +430,7 @@ _cb_dialog_destroy(void *data) static void _cb_config_end(void *data EINA_UNUSED) { + if (!_cfdata) return; e_widget_disabled_set(_cfdata->o_list, 0); } @@ -448,6 +453,7 @@ _cb_config(void *data, void *data2 EINA_UNUSED) static void _cb_contents_end(void *data EINA_UNUSED) { + if (!_cfdata) return; e_widget_disabled_set(_cfdata->o_list, 0); } --
