summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Sales de Andrade <qulogic@pidgin.im>2011-01-10 01:06:43 +0000
committerElliott Sales de Andrade <qulogic@pidgin.im>2011-01-10 01:06:43 +0000
commitc0c61275e340c583fb6bd4ab41c34a2e505db16e (patch)
tree997c1650bd919329e599458fe00dc0329e91a3e5
parenta3af31a435fd543bfe593dd14f8c475b03104d92 (diff)
downloadpidgin-c0c61275e340c583fb6bd4ab41c34a2e505db16e.tar.gz
Requests are closed with the PurpleConnection, so there's no need for
these checks here. Plus it seems like MsnSession is more useful in the callback than a PurpleConnection.
-rw-r--r--libpurple/protocols/msn/error.c42
1 files changed, 17 insertions, 25 deletions
diff --git a/libpurple/protocols/msn/error.c b/libpurple/protocols/msn/error.c
index b89dc1eee2..68690ef384 100644
--- a/libpurple/protocols/msn/error.c
+++ b/libpurple/protocols/msn/error.c
@@ -31,7 +31,7 @@
typedef struct
{
- PurpleConnection *gc;
+ MsnSession *session;
char *who;
char *group;
gboolean add;
@@ -293,9 +293,9 @@ msn_complete_sync_issue(MsnAddRemData *data)
group = purple_find_group(data->group);
if (group != NULL)
- buddy = purple_find_buddy_in_group(purple_connection_get_account(data->gc), data->who, group);
+ buddy = purple_find_buddy_in_group(data->session->account, data->who, group);
else
- buddy = purple_find_buddy(purple_connection_get_account(data->gc), data->who);
+ buddy = purple_find_buddy(data->session->account, data->who);
if (buddy != NULL)
purple_blist_remove_buddy(buddy);
@@ -309,14 +309,9 @@ msn_add_cb(MsnAddRemData *data)
/* this *should* be necessary !! */
msn_complete_sync_issue(data);
#endif
+ MsnUserList *userlist = data->session->userlist;
- if (g_list_find(purple_connections_get_all(), data->gc) != NULL)
- {
- MsnSession *session = data->gc->proto_data;
- MsnUserList *userlist = session->userlist;
-
- msn_userlist_add_buddy(userlist, data->who, data->group);
- }
+ msn_userlist_add_buddy(userlist, data->who, data->group);
g_free(data->group);
g_free(data->who);
@@ -326,18 +321,14 @@ msn_add_cb(MsnAddRemData *data)
static void
msn_rem_cb(MsnAddRemData *data)
{
+ MsnUserList *userlist = data->session->userlist;
msn_complete_sync_issue(data);
- if (g_list_find(purple_connections_get_all(), data->gc) != NULL)
- {
- MsnSession *session = data->gc->proto_data;
- MsnUserList *userlist = session->userlist;
-
- if (data->group == NULL) {
- msn_userlist_rem_buddy_from_list(userlist, data->who, MSN_LIST_FL);
- } else {
- g_free(data->group);
- }
+
+ if (data->group == NULL) {
+ msn_userlist_rem_buddy_from_list(userlist, data->who, MSN_LIST_FL);
+ } else {
+ g_free(data->group);
}
g_free(data->who);
@@ -356,10 +347,10 @@ msn_error_sync_issue(MsnSession *session, const char *passport,
account = session->account;
gc = purple_account_get_connection(account);
- data = g_new0(MsnAddRemData, 1);
- data->who = g_strdup(passport);
- data->group = g_strdup(group_name);
- data->gc = gc;
+ data = g_new0(MsnAddRemData, 1);
+ data->who = g_strdup(passport);
+ data->group = g_strdup(group_name);
+ data->session = session;
msg = g_strdup_printf(_("Buddy list synchronization issue in %s (%s)"),
purple_account_get_username(account),
@@ -382,7 +373,7 @@ msn_error_sync_issue(MsnSession *session, const char *passport,
}
purple_request_action(gc, NULL, msg, reason, PURPLE_DEFAULT_ACTION_NONE,
- purple_connection_get_account(gc), data->who, NULL,
+ account, data->who, NULL,
data, 2,
_("Yes"), G_CALLBACK(msn_add_cb),
_("No"), G_CALLBACK(msn_rem_cb));
@@ -390,3 +381,4 @@ msn_error_sync_issue(MsnSession *session, const char *passport,
g_free(reason);
g_free(msg);
}
+