diff options
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/msn/msn.c | 5 | ||||
| -rw-r--r-- | protocols/msn/sb.c | 5 | 
2 files changed, 6 insertions, 4 deletions
| diff --git a/protocols/msn/msn.c b/protocols/msn/msn.c index 85dd22ec..d6a4b158 100644 --- a/protocols/msn/msn.c +++ b/protocols/msn/msn.c @@ -222,6 +222,7 @@ static void msn_chat_leave( struct groupchat *c )  static struct groupchat *msn_chat_with( struct im_connection *ic, char *who )  {  	struct msn_switchboard *sb; +	struct groupchat *c = imcb_chat_new( ic, who );  	if( ( sb = msn_sb_by_handle( ic, who ) ) )  	{ @@ -239,10 +240,8 @@ static struct groupchat *msn_chat_with( struct im_connection *ic, char *who )  		msn_sb_write_msg( ic, m ); -		return NULL; +		return c;  	} -	 -	return NULL;  }  static void msn_keepalive( struct im_connection *ic ) diff --git a/protocols/msn/sb.c b/protocols/msn/sb.c index 641af5e7..626cc83e 100644 --- a/protocols/msn/sb.c +++ b/protocols/msn/sb.c @@ -236,7 +236,10 @@ struct groupchat *msn_sb_to_chat( struct msn_switchboard *sb )  	/* Create the groupchat structure. */  	g_snprintf( buf, sizeof( buf ), "MSN groupchat session %d", sb->session ); -	sb->chat = imcb_chat_new( ic, buf ); +	if( sb->who ) +		sb->chat = bee_chat_by_title( ic->bee, ic, sb->who ); +	if( sb->chat == NULL ) +		sb->chat = imcb_chat_new( ic, buf );  	/* Populate the channel. */  	if( sb->who ) imcb_chat_add_buddy( sb->chat, sb->who ); | 
