diff options
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/purple/purple.c | 18 | 
1 files changed, 12 insertions, 6 deletions
| diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index d69bc82b..e960970c 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -370,7 +370,11 @@ static void purple_remove_buddy( struct im_connection *ic, char *who, char *grou  	pb = purple_find_buddy( (PurpleAccount*) ic->proto_data, who );  	if( pb != NULL )  	{ -		purple_account_remove_buddy( (PurpleAccount*) ic->proto_data, pb, NULL ); +		PurpleGroup *group; +		 +		group = purple_buddy_get_group( pb ); +		purple_account_remove_buddy( (PurpleAccount*) ic->proto_data, pb, group ); +		  		purple_blist_remove_buddy( pb );  	}  } @@ -694,7 +698,7 @@ static void prplcb_blist_new( PurpleBlistNode *node )  static void prplcb_blist_remove( PurpleBuddyList *list, PurpleBlistNode *node )  { -	/* +/*  	PurpleBuddy *bud = (PurpleBuddy*) node;  	if( node->type == PURPLE_BLIST_BUDDY_NODE ) @@ -706,7 +710,7 @@ static void prplcb_blist_remove( PurpleBuddyList *list, PurpleBlistNode *node )  		imcb_remove_buddy( ic, bud->name, NULL );  	} -	*/ +*/  }  static PurpleBlistUiOps bee_blist_uiops = @@ -827,7 +831,8 @@ static void prplcb_request_action_yes( void *data )  {  	struct prplcb_request_action_data *pqad = data; -	pqad->yes( pqad->user_data, pqad->yes_i ); +	if( pqad->yes ) +		pqad->yes( pqad->user_data, pqad->yes_i );  	g_free( pqad );  } @@ -835,7 +840,8 @@ static void prplcb_request_action_no( void *data )  {  	struct prplcb_request_action_data *pqad = data; -	pqad->no( pqad->user_data, pqad->no_i ); +	if( pqad->no ) +		pqad->no( pqad->user_data, pqad->no_i );  	g_free( pqad );  } @@ -858,7 +864,7 @@ static void *prplcb_request_action( const char *title, const char *primary, cons  		caption = va_arg( actions, char* );  		fn = va_arg( actions, void* ); -		if( strstr( caption, "Accept" ) ) +		if( strstr( caption, "Accept" ) || strstr( caption, "OK" ) )  		{  			pqad->yes = fn;  			pqad->yes_i = i; | 
