Mercurial > pidgin
comparison src/protocols/msn/notification.c @ 6777:513fd80bcd2e
[gaim-migrate @ 7315]
This looks like it fixes the (null) group problem in MSN. Thanks faceprint.
Why it happens, we don't know.. it really shouldn't, and may be a problem
in the future...
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Sun, 07 Sep 2003 07:13:48 +0000 |
| parents | addc5c8c0df1 |
| children | f5c483cdd1d8 |
comparison
equal
deleted
inserted
replaced
| 6776:46e1c07f4de5 | 6777:513fd80bcd2e |
|---|---|
| 112 } | 112 } |
| 113 else | 113 else |
| 114 b->proto_data = user; | 114 b->proto_data = user; |
| 115 } | 115 } |
| 116 | 116 |
| 117 /* Find all occurrences of this buddy in the wrong place. */ | |
| 118 for (sl = buddies; sl != NULL; sl = sl->next) | |
| 119 { | |
| 120 b = sl->data; | |
| 121 | |
| 122 if (b->proto_data == NULL) | |
| 123 { | |
| 124 gaim_debug_warning("msn", | |
| 125 "Deleting misplaced user %s (%s) during sync with server.\n", | |
| 126 b->name, gaim_find_buddys_group(b)->name); | |
| 127 | |
| 128 gaim_blist_remove_buddy(b); | |
| 129 } | |
| 130 } | |
| 131 | |
| 132 g_slist_free(buddies); | 117 g_slist_free(buddies); |
| 133 | 118 |
| 134 serv_got_alias(gc, (char *)msn_user_get_passport(user), | 119 serv_got_alias(gc, (char *)msn_user_get_passport(user), |
| 135 (char *)msn_user_get_name(user)); | 120 (char *)msn_user_get_name(user)); |
| 136 | 121 |
| 1258 account->deny); | 1243 account->deny); |
| 1259 | 1244 |
| 1260 while (session->lists.forward != NULL) | 1245 while (session->lists.forward != NULL) |
| 1261 { | 1246 { |
| 1262 MsnUser *user = session->lists.forward->data; | 1247 MsnUser *user = session->lists.forward->data; |
| 1248 GSList *buddies; | |
| 1249 GSList *sl; | |
| 1263 | 1250 |
| 1264 session->lists.forward = | 1251 session->lists.forward = |
| 1265 g_slist_remove(session->lists.forward, user); | 1252 g_slist_remove(session->lists.forward, user); |
| 1266 | 1253 |
| 1267 add_buddy(servconn, user); | 1254 add_buddy(servconn, user); |
| 1255 | |
| 1256 buddies = gaim_find_buddies(account, | |
| 1257 msn_user_get_passport(user)); | |
| 1258 | |
| 1259 /* Find all occurrences of this buddy in the wrong place. */ | |
| 1260 for (sl = buddies; sl != NULL; sl = sl->next) | |
| 1261 { | |
| 1262 GaimBuddy *b = sl->data; | |
| 1263 | |
| 1264 if (b->proto_data == NULL) | |
| 1265 { | |
| 1266 gaim_debug_warning("msn", | |
| 1267 "Deleting misplaced user %s (%s) during sync " | |
| 1268 "with server.\n", | |
| 1269 b->name, gaim_find_buddys_group(b)->name); | |
| 1270 | |
| 1271 gaim_blist_remove_buddy(b); | |
| 1272 } | |
| 1273 } | |
| 1274 | |
| 1275 g_slist_free(buddies); | |
| 1268 } | 1276 } |
| 1269 | 1277 |
| 1270 session->syncing_lists = FALSE; | 1278 session->syncing_lists = FALSE; |
| 1271 session->lists_synced = TRUE; | 1279 session->lists_synced = TRUE; |
| 1272 } | 1280 } |
