Enlightenment CVS committal
Author : devilhorns
Project : e17
Module : apps/e
Dir : e17/apps/e/src/modules/conf_window_remembers
Modified Files:
e_int_config_remembers.c
Log Message:
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.
===================================================================
RCS file:
/cvs/e/e17/apps/e/src/modules/conf_window_remembers/e_int_config_remembers.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_int_config_remembers.c 13 May 2008 07:05:27 -0000 1.5
+++ e_int_config_remembers.c 13 May 2008 08:39:29 -0000 1.6
@@ -182,7 +182,7 @@
_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 @@
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 @@
if (changed) e_config_save_queue();
if (1) evas_list_free(l);
+ if (b) evas_list_free(b);
_fill_remembers(cfdata);
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs