/soc/2015/jgeboski/facebook: 9248df941766: facebook: only set bu...

James Geboski jgeboski at gmail.com
Sat Jun 6 02:14:06 EDT 2015


Changeset: 9248df9417668d12d372aab86a4df3c95c038b9a
Author:	 James Geboski <jgeboski at gmail.com>
Date:	 2015-06-05 22:38 -0400
Branch:	 facebook
URL: https://hg.pidgin.im/soc/2015/jgeboski/facebook/rev/9248df941766

Description:

facebook: only set buddy icons, not account icons

diffstat:

 libpurple/protocols/facebook/facebook.c |  43 +++++++++++++-------------------
 1 files changed, 18 insertions(+), 25 deletions(-)

diffs (88 lines):

diff --git a/libpurple/protocols/facebook/facebook.c b/libpurple/protocols/facebook/facebook.c
--- a/libpurple/protocols/facebook/facebook.c
+++ b/libpurple/protocols/facebook/facebook.c
@@ -166,17 +166,18 @@ static void
 fb_cb_icon_fetch(PurpleHttpConnection *con, PurpleHttpResponse *res,
                  gpointer data)
 {
+	const gchar *name;
 	const gchar *str;
-	const gchar *name = data;
 	FbApi *api;
 	GError *err;
 	gsize size;
 	guchar *idata;
 	PurpleAccount *acct;
+	PurpleBuddy *bdy = data;
 	PurpleConnection *gc;
 
-	gc = purple_http_conn_get_purple_connection(con);
-	acct = purple_connection_get_account(gc);
+	acct = purple_buddy_get_account(bdy);
+	gc = purple_account_get_connection(acct);
 	api = purple_connection_get_protocol_data(gc);
 
 	if (!fb_http_error_chk(res, &err)) {
@@ -185,14 +186,10 @@ fb_cb_icon_fetch(PurpleHttpConnection *c
 		return;
 	}
 
+	name = purple_buddy_get_name(bdy);
 	str = purple_http_response_get_data(res, &size);
+
 	idata = g_memdup(str, size);
-
-	if (G_UNLIKELY(name == NULL)) {
-		purple_buddy_icons_set_account_icon(acct, idata, size);
-		return;
-	}
-
 	purple_buddy_icons_set_for_user(acct, name, idata, size, NULL);
 }
 
@@ -200,7 +197,6 @@ static void
 fb_cb_api_contacts(FbApi *api, GSList *users, gpointer data)
 {
 	const gchar *alias;
-	const gchar *name;
 	FbApiUser *user;
 	FbId muid;
 	gchar uid[FB_ID_STRMAX];
@@ -225,25 +221,22 @@ fb_cb_api_contacts(FbApi *api, GSList *u
 		FB_ID_TO_STR(user->uid, uid);
 
 		if (G_UNLIKELY(user->uid == muid)) {
-			if (G_UNLIKELY(alias == NULL)) {
-				purple_account_set_private_alias(acct,
-				                                 user->name);
+			if (G_UNLIKELY(alias != NULL)) {
+				continue;
 			}
 
-			name = NULL;
-		} else {
-			bdy = purple_blist_find_buddy(acct, uid);
-
-			if (bdy == NULL) {
-				bdy = purple_buddy_new(acct, uid, user->name);
-				purple_blist_add_buddy(bdy, NULL, grp, NULL);
-			}
-
-			name = purple_buddy_get_name(bdy);
+			purple_account_set_private_alias(acct, user->name);
+			continue;
 		}
 
-		purple_http_get(gc, fb_cb_icon_fetch, (gchar *) name,
-		                user->icon);
+		bdy = purple_blist_find_buddy(acct, uid);
+
+		if (bdy == NULL) {
+			bdy = purple_buddy_new(acct, uid, user->name);
+			purple_blist_add_buddy(bdy, NULL, grp, NULL);
+		}
+
+		purple_http_get(gc, fb_cb_icon_fetch, bdy, user->icon);
 	}
 
 	purple_connection_update_progress(gc, _("Connecting"), 3, 4);



More information about the Commits mailing list