[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