diff --git a/src/modules/conf_paths/e_int_config_env.c b/src/modules/conf_paths/e_int_config_env.c index a7fb333b6..353fa7a8b 100644 --- a/src/modules/conf_paths/e_int_config_env.c +++ b/src/modules/conf_paths/e_int_config_env.c @@ -217,6 +217,7 @@ _del_cb(void *data, void *data2 __UNUSED__) E_Config_Dialog_Data *cfdata = data; Eina_List *l; E_Config_Env_Var *evr = NULL; + int sel_n; /* int i, sel = -1; @@ -231,10 +232,13 @@ _del_cb(void *data, void *data2 __UNUSED__) i++; } */ - evr = eina_list_data_get(cfdata->env_vars); + sel_n = e_widget_ilist_selected_get(cfdata->gui.list); + evr = eina_list_nth(cfdata->env_vars, sel_n); + if (evr && strcmp(cfdata->var_str, evr->var)) evr = NULL; if (evr) { + cfdata->env_vars = eina_list_remove(cfdata->env_vars, evr); eina_stringshare_del(evr->var); if (evr->val) eina_stringshare_del(evr->val); E_FREE(evr);