Unset variables that were deleted.Safety++
authorLeif Middelschulte <leif.middelschulte@gmail.com>
Wed, 21 Dec 2011 12:43:30 +0000 (12:43 +0000)
committerLeif Middelschulte <leif.middelschulte@gmail.com>
Wed, 21 Dec 2011 12:43:30 +0000 (12:43 +0000)
SVN revision: 66441

src/modules/conf_paths/e_int_config_env.c

index 353fa7a8b64d8b966cd0861dca891572d3edffc9..f9bba178cb423e85326ca4b0b7144a112071758a 100644 (file)
@@ -233,12 +233,14 @@ _del_cb(void *data, void *data2 __UNUSED__)
      }
 */
    sel_n = e_widget_ilist_selected_get(cfdata->gui.list);
-   evr = eina_list_nth(cfdata->env_vars, sel_n);
+   if (sel_n != -1)
+     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);
+        e_env_unset(evr->var);
         eina_stringshare_del(evr->var);
         if (evr->val) eina_stringshare_del(evr->val);
         E_FREE(evr);