| 68 alias = purple_buddy_get_contact_alias((PurpleBuddy *)buddies->data); |
68 alias = purple_buddy_get_contact_alias((PurpleBuddy *)buddies->data); |
| 69 |
69 |
| 70 for (cur = buddies; cur != NULL; cur = cur->next) |
70 for (cur = buddies; cur != NULL; cur = cur->next) |
| 71 { |
71 { |
| 72 PurpleBlistNode *node = cur->data; |
72 PurpleBlistNode *node = cur->data; |
| 73 if ((node != NULL) && ((node->prev != NULL) || (node->next != NULL))) |
73 PurpleBlistNode *prev = purple_blist_node_get_sibling_prev(node); |
| |
74 PurpleBlistNode *next = purple_blist_node_get_sibling_next(node); |
| |
75 if ((node != NULL) && ((prev != NULL) || (next != NULL))) |
| 74 { |
76 { |
| 75 PurpleBlistNode *node2; |
77 PurpleBlistNode *node2; |
| |
78 PurpleBlistNode *parent = purple_blist_node_get_parent(node); |
| |
79 PurpleBlistNode *child = purple_blist_node_get_first_child(parent); |
| 76 |
80 |
| 77 alias = purple_buddy_get_contact_alias((PurpleBuddy *)node); |
81 alias = purple_buddy_get_contact_alias((PurpleBuddy *)node); |
| 78 |
82 |
| 79 /* We've found a buddy that matches this conversation. It's part of a |
83 /* We've found a buddy that matches this conversation. It's part of a |
| 80 * PurpleContact with more than one PurpleBuddy. Loop through the PurpleBuddies |
84 * PurpleContact with more than one PurpleBuddy. Loop through the PurpleBuddies |
| 81 * in the contact and get all the logs. */ |
85 * in the contact and get all the logs. */ |
| 82 for (node2 = node->parent->child ; node2 != NULL ; node2 = node2->next) |
86 for (node2 = child ; node2 != NULL ; node2 = purple_blist_node_get_sibling_next(node2)) |
| 83 { |
87 { |
| 84 logs = g_list_concat( |
88 logs = g_list_concat( |
| 85 purple_log_get_logs(PURPLE_LOG_IM, |
89 purple_log_get_logs(PURPLE_LOG_IM, |
| 86 purple_buddy_get_name((PurpleBuddy *)node2), |
90 purple_buddy_get_name((PurpleBuddy *)node2), |
| 87 purple_buddy_get_account((PurpleBuddy *)node2)), |
91 purple_buddy_get_account((PurpleBuddy *)node2)), |