Mercurial > pidgin
view libpurple/dbus-useful.c @ 30287:c2b3bfb2fe35
When setting an Avatar image via the Gallery bot, the MXit server pushes
a Get Extended Profile response to inform the client. The MXitId field in that
packet happens to be set to the user's MXitid and not empty so the libpurple
plugin assumes it was a request for a buddies profile information so a profile
popup is displayed.
We now check if the MXitId field is empty or if it matches the user's MxitId
(returned in the Login reponse).
author | andrew.victor@mxit.com |
---|---|
date | Mon, 19 Jul 2010 08:56:03 +0000 |
parents | 32c366eeeb99 |
children | 4ca97b26a8fb f75041cb3fec |
line wrap: on
line source
#include <string.h> #include <glib.h> #include "dbus-useful.h" #include "conversation.h" #include "util.h" PurpleAccount * purple_accounts_find_ext(const char *name, const char *protocol_id, gboolean (*account_test)(const PurpleAccount *account)) { PurpleAccount *result = NULL; GList *l; char *who; if (name) who = g_strdup(purple_normalize(NULL, name)); else who = NULL; for (l = purple_accounts_get_all(); l != NULL; l = l->next) { PurpleAccount *account = (PurpleAccount *)l->data; if (who && strcmp(purple_normalize(NULL, purple_account_get_username(account)), who)) continue; if (protocol_id && strcmp(account->protocol_id, protocol_id)) continue; if (account_test && !account_test(account)) continue; result = account; break; } g_free(who); return result; } PurpleAccount *purple_accounts_find_any(const char *name, const char *protocol) { return purple_accounts_find_ext(name, protocol, NULL); } PurpleAccount *purple_accounts_find_connected(const char *name, const char *protocol) { return purple_accounts_find_ext(name, protocol, purple_account_is_connected); }