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 enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs