aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-12-02 08:24:46 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-12-02 08:24:46 +0000
commit5bdef176e645509820ebb3d205db670abaab0776 (patch)
tree5a1dfdd9f60e57a92b22216a121799c0d4308569
parent7d17cb6c2a175e32db5b7d5b365806c1cf49c632 (diff)
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
-rw-r--r--ChangeLog7
-rw-r--r--ChangeLog.ja7
-rw-r--r--src/addrbook.c3
-rw-r--r--src/editgroup.c1
4 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 265bf5dd..d8c1c068 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
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.
2005-12-01
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 7f4c8de8..3e0d3434 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,12 @@
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 );