From 5bdef176e645509820ebb3d205db670abaab0776 Mon Sep 17 00:00:00 2001 From: hiro Date: Fri, 2 Dec 2005 08:24:46 +0000 Subject: fixed crash bug when an address in a group was modified. Fixed memory leaks. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@798 ee746299-78ed-0310-b773-934348b2243d --- ChangeLog | 7 +++++++ ChangeLog.ja | 7 +++++++ src/addrbook.c | 3 ++- src/editgroup.c | 1 + 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 265bf5dd..d8c1c068 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-12-02 + + * src/addrbook.c: addrbook_update_address_list(): fixed crash bug when + an address in a group was modified. + * src/addrbook.c: addrbook_update_group_list() + src/editgroup.c: addressbook_edit_group(): fixed memory leaks. + 2005-12-02 * src/passphrase.c: gpgmegtk_passphrase_cb(): fixed blocking on win32. diff --git a/ChangeLog.ja b/ChangeLog.ja index 7f4c8de8..3e0d3434 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,3 +1,10 @@ +2005-12-02 + + * src/addrbook.c: addrbook_update_address_list(): グループに含まれる + アドレスを変更した際にクラッシュするバグを修正。 + * src/addrbook.c: addrbook_update_group_list() + src/editgroup.c: addressbook_edit_group(): メモリリークを修正。 + 2005-12-02 * src/passphrase.c: gpgmegtk_passphrase_cb(): win32 でブロックする diff --git a/src/addrbook.c b/src/addrbook.c index 6c80142b..19a1ba00 100644 --- a/src/addrbook.c +++ b/src/addrbook.c @@ -1276,6 +1276,7 @@ void addrbook_update_address_list( AddressBookFile *book, ItemPerson *person, GL groupEMail = g_list_remove( groupEMail, emailGrp ); nodeGrpEM = g_list_next( nodeGrpEM ); } + group->listEMail = groupEMail; /* Move on to next group */ nodeGrp = g_list_next( nodeGrp ); @@ -1438,7 +1439,7 @@ void addrbook_update_group_list( AddressBookFile *book, ItemGroup *group, GList oldData = group->listEMail; group->listEMail = listEMail; mgu_clear_list( oldData ); - oldData = NULL; + g_list_free ( oldData ); book->dirtyFlag = TRUE; } diff --git a/src/editgroup.c b/src/editgroup.c index 9ea307a7..91296283 100644 --- a/src/editgroup.c +++ b/src/editgroup.c @@ -475,6 +475,7 @@ ItemGroup *addressbook_edit_group( AddressBookFile *abf, ItemFolder *parent, Ite listEMail = addrbook_get_available_email_list( abf, group ); edit_group_load_clist( groupeditdlg.clist_avail, listEMail ); mgu_clear_list( listEMail ); + g_list_free( listEMail ); listEMail = NULL; gtk_clist_select_row( groupeditdlg.clist_group, 0, 0 ); gtk_clist_select_row( groupeditdlg.clist_avail, 0, 0 ); -- cgit v1.2.3