Mercurial > pidgin.yaz
comparison src/blist.c @ 10166:72c9e9bb2c19
[gaim-migrate @ 11252]
A nice contact-deletion crash fix from Andrew Hart. Thanks Andrew!
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 09 Nov 2004 05:48:26 +0000 |
parents | 9fdbfe832fac |
children | 35eae887271a |
comparison
equal
deleted
inserted
replaced
10165:5c3b27763126 | 10166:72c9e9bb2c19 |
---|---|
1177 gnode = node->parent; | 1177 gnode = node->parent; |
1178 | 1178 |
1179 if (node->child) { | 1179 if (node->child) { |
1180 /* | 1180 /* |
1181 * If this contact has children then remove them. When the last | 1181 * If this contact has children then remove them. When the last |
1182 * buddy is removed from the contact, the contact is deleted. | 1182 * buddy is removed from the contact, the contact is automatically |
1183 * deleted. | |
1183 */ | 1184 */ |
1184 while (node->child) { | 1185 while (node->child->next) { |
1185 gaim_blist_remove_buddy((GaimBuddy*)node->child); | 1186 gaim_blist_remove_buddy((GaimBuddy*)node->child); |
1186 } | 1187 } |
1188 /* | |
1189 * Remove the last buddy and trigger the deletion of the contact. | |
1190 * It would probably be cleaner if contact-deletion was done after | |
1191 * a timeout? Or if it had to be done manually, like below? | |
1192 */ | |
1193 gaim_blist_remove_buddy((GaimBuddy*)node->child); | |
1187 } else { | 1194 } else { |
1188 /* Remove the node from its parent */ | 1195 /* Remove the node from its parent */ |
1189 if (gnode->child == node) | 1196 if (gnode->child == node) |
1190 gnode->child = node->next; | 1197 gnode->child = node->next; |
1191 if (node->prev) | 1198 if (node->prev) |