diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-18 16:31:58 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-18 16:31:58 +0100 |
commit | 3e59c8d79ae39d8c1412c2bbf8dced6ded74af6f (patch) | |
tree | 4a75cf1724ee1a40a22c3cf631306fc3f546aa57 /protocols/purple/purple.c | |
parent | 2efb69bed8c96842368c1d82263909c74582399e (diff) |
libpurple: Add contacts to groups when requested. Still not dealing well
with contacts in multiple groups.
Diffstat (limited to 'protocols/purple/purple.c')
-rw-r--r-- | protocols/purple/purple.c | 11 |
1 files changed, 10 insertions, 1 deletions
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 = |