[Pkg-e-commits] [SCM] Enlightenment 17 branch, upstream-vcs, updated. 3eef8cab2cb6f039b529ffc89deb21a0dcab03df

devilhorns devilhorns at alioth.debian.org
Sat May 24 15:07:40 UTC 2008


The following commit has been merged in the upstream-vcs branch:
commit 321483e3e2a392816cffb799f49db964f35860a8
Author: devilhorns <devilhorns>
Date:   Tue May 13 08:39:29 2008 +0000

    Add some code to handle deleting remembers for any active borders. This
    catches a segfault that according previously when trying to remove a
    remember from an active border via this dialog.

diff --git a/src/modules/conf_window_remembers/e_int_config_remembers.c b/src/modules/conf_window_remembers/e_int_config_remembers.c
index 8c86899..d5820a9 100644
--- a/src/modules/conf_window_remembers/e_int_config_remembers.c
+++ b/src/modules/conf_window_remembers/e_int_config_remembers.c
@@ -182,7 +182,7 @@ static void
 _cb_delete(void *data, void *data2) 
 {
    E_Config_Dialog_Data *cfdata;
-   Evas_List *l = NULL;
+   Evas_List *l = NULL, *b = NULL;
    int i = 0, changed = 0;
 
    if (!(cfdata = data)) return;
@@ -194,6 +194,15 @@ _cb_delete(void *data, void *data2)
         item = l->data;
         if ((!item) || (!item->selected)) continue;
         if (!(rem = e_widget_ilist_nth_data_get(cfdata->list, i))) continue;
+        for (b = e_border_client_list(); b; b = b->next) 
+          {
+             E_Border *bd = NULL;
+
+             if (!(bd = b->data)) continue;
+             if (!bd->remember) continue;
+             if (bd->remember != rem) continue;
+             bd->remember = NULL;
+          }
         e_remember_unuse(rem);
         e_remember_del(rem);
         changed = 1;
@@ -201,6 +210,7 @@ _cb_delete(void *data, void *data2)
 
    if (changed) e_config_save_queue();
    if (1) evas_list_free(l);
+   if (b) evas_list_free(b);
 
    _fill_remembers(cfdata);
 }

-- 
Enlightenment 17



More information about the Pkg-e-commits mailing list