Mercurial > pidgin.yaz
comparison libpurple/protocols/bonjour/mdns_win32.c @ 26297:5e5d230f5862
Fix an issue with bonjour buddies that have been dragged into permanent groups
not appearing online when the buddy signs on.
Fixes #8782
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 26 Mar 2009 03:25:57 +0000 |
parents | c73a891d26a6 |
children | 927e01ad06ae |
comparison
equal
deleted
inserted
replaced
26295:1b2d418c26ff | 26297:5e5d230f5862 |
---|---|
167 ResolveCallbackArgs *args = (ResolveCallbackArgs*) data; | 167 ResolveCallbackArgs *args = (ResolveCallbackArgs*) data; |
168 Win32BuddyImplData *idata = args->bb->mdns_impl_data; | 168 Win32BuddyImplData *idata = args->bb->mdns_impl_data; |
169 gboolean delete_buddy = FALSE; | 169 gboolean delete_buddy = FALSE; |
170 PurpleBuddy *pb = NULL; | 170 PurpleBuddy *pb = NULL; |
171 | 171 |
172 if ((pb = purple_find_buddy(args->account, args->res_data->name))) { | |
173 if (pb->proto_data != args->bb) { | |
174 purple_debug_error("bonjour", "Found purple buddy for %s not matching bonjour buddy record.", | |
175 args->res_data->name); | |
176 goto cleanup; | |
177 } | |
172 /* Make sure that the BonjourBuddy associated with this request is still around */ | 178 /* Make sure that the BonjourBuddy associated with this request is still around */ |
173 if (g_slist_find(pending_buddies, args->bb) == NULL) | 179 } else if (g_slist_find(pending_buddies, args->bb) == NULL) { |
180 purple_debug_error("bonjour", "host resolution - complete, but buddy no longer pending.\n"); | |
174 goto cleanup; | 181 goto cleanup; |
175 | 182 } |
176 if ((pb = purple_find_buddy(args->account, args->bb->name))) | |
177 if (pb->proto_data != args->bb) | |
178 purple_debug_error("bonjour", "Found purple buddy for %s not matching bonjour buddy record. " | |
179 "This is going to be ugly!.\n", args->bb->name); | |
180 | 183 |
181 if (!hosts || !hosts->data) { | 184 if (!hosts || !hosts->data) { |
182 purple_debug_error("bonjour", "host resolution - callback error.\n"); | 185 purple_debug_error("bonjour", "host resolution - callback error.\n"); |
183 delete_buddy = TRUE; | 186 delete_buddy = TRUE; |
184 } else { | 187 } else { |