From 81cf092554120c04dad6b705913c986024d28c9a Mon Sep 17 00:00:00 2001 From: mjentsch Date: Wed, 18 Nov 2015 01:19:40 +0100 Subject: [PATCH] Fix adding foreign buddy Fix user info and user status not being correctly fetched. --- telegram-purple.c | 4 +++- tgp-blist.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/telegram-purple.c b/telegram-purple.c index ad6132a..9c57b3e 100644 --- a/telegram-purple.c +++ b/telegram-purple.c @@ -732,9 +732,11 @@ static void tgprpl_set_status (PurpleAccount *acct, PurpleStatus *status) { } static void tgprpl_add_buddy (PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) { - tgl_peer_t *peer = tgp_blist_buddy_get_peer (buddy); + tgl_peer_t *peer = tgl_peer_get_by_name (gc_get_conn(gc)->TLS, buddy->name); if (peer) { _update_buddy (gc_get_conn (gc)->TLS, peer, TGL_UPDATE_PHOTO); + tgp_blist_buddy_set_id (buddy, peer->id); + p2tgl_prpl_got_user_status (gc_get_conn(gc)->TLS, peer->id, &peer->user.status); } } diff --git a/tgp-blist.c b/tgp-blist.c index 620fcdd..8847b3e 100644 --- a/tgp-blist.c +++ b/tgp-blist.c @@ -95,6 +95,7 @@ tgl_peer_id_t tgp_blist_buddy_get_id (PurpleBuddy *buddy) { tgl_peer_t *tgp_blist_buddy_get_peer (PurpleBuddy *buddy) { if (! tgp_blist_buddy_has_id (buddy)) { + g_warn_if_reached(); return NULL; } return tgl_peer_get (pbn_get_conn (&buddy->node)->TLS, tgp_blist_buddy_get_id (buddy));