summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Geboski <jgeboski@gmail.com>2016-01-14 17:05:42 -0500
committerJames Geboski <jgeboski@gmail.com>2016-01-14 17:05:42 -0500
commit9f4e88ed96937e456a36a219dcce936c97e6cc04 (patch)
treeda3c23d66531bc8bf62fcb0ab50148309e2c701d
parenteba56ed64f2202f87021b930020aa7d624b35d9e (diff)
downloadpidgin-9f4e88ed96937e456a36a219dcce936c97e6cc04.tar.gz
facebook: use locally defined aliases in the group chat list
-rw-r--r--libpurple/protocols/facebook/facebook.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/libpurple/protocols/facebook/facebook.c b/libpurple/protocols/facebook/facebook.c
index ce39db409b..2e0ba7b27a 100644
--- a/libpurple/protocols/facebook/facebook.c
+++ b/libpurple/protocols/facebook/facebook.c
@@ -663,13 +663,18 @@ fb_cb_api_thread_create(FbApi *api, FbId tid, gpointer data)
static void
fb_cb_api_threads(FbApi *api, GSList *thrds, gpointer data)
{
+ const gchar *alias;
FbApiUser *user;
FbData *fata = data;
gchar tid[FB_ID_STRMAX];
+ gchar uid[FB_ID_STRMAX];
GSList *l;
GSList *m;
GString *gstr;
FbApiThread *thrd;
+ PurpleAccount *acct;
+ PurpleBuddy *bdy;
+ PurpleConnection *gc;
PurpleRoomlist *list;
PurpleRoomlistRoom *room;
@@ -679,6 +684,8 @@ fb_cb_api_threads(FbApi *api, GSList *thrds, gpointer data)
return;
}
+ gc = fb_data_get_connection(fata);
+ acct = purple_connection_get_account(gc);
gstr = g_string_new(NULL);
for (l = thrds; l != NULL; l = l->next) {
@@ -688,12 +695,20 @@ fb_cb_api_threads(FbApi *api, GSList *thrds, gpointer data)
for (m = thrd->users; m != NULL; m = m->next) {
user = m->data;
+ FB_ID_TO_STR(user->uid, uid);
+ bdy = purple_blist_find_buddy(acct, uid);
+
+ if (bdy != NULL) {
+ alias = purple_buddy_get_alias(bdy);
+ } else {
+ alias = user->name;
+ }
if (gstr->len > 0) {
g_string_append(gstr, ", ");
}
- g_string_append(gstr, user->name);
+ g_string_append(gstr, alias);
}
room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM,