From 3e59c8d79ae39d8c1412c2bbf8dced6ded74af6f Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Sun, 18 Jul 2010 16:31:58 +0100 Subject: libpurple: Add contacts to groups when requested. Still not dealing well with contacts in multiple groups. --- protocols/purple/purple.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'protocols/purple') diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index e960970c..c7cfcfda 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -357,9 +357,16 @@ static char *set_eval_display_name( set_t *set, char *value ) static void purple_add_buddy( struct im_connection *ic, char *who, char *group ) { PurpleBuddy *pb; + PurpleGroup *pg = NULL; + + if( group && !( pg = purple_find_group( group ) ) ) + { + pg = purple_group_new( group ); + purple_blist_add_group( pg, NULL ); + } pb = purple_buddy_new( (PurpleAccount*) ic->proto_data, who, NULL ); - purple_blist_add_buddy( pb, NULL, NULL, NULL ); + purple_blist_add_buddy( pb, NULL, pg, NULL ); purple_account_add_buddy( (PurpleAccount*) ic->proto_data, pb ); } @@ -1070,6 +1077,8 @@ static void *prplcb_account_request_authorize( PurpleAccount *account, const cha imcb_ask_with_free( ic, q, user_data, authorize_cb, deny_cb, NULL ); g_free( q ); + + return NULL; } static PurpleAccountUiOps bee_account_uiops = -- cgit v1.2.3