Changeset e9caacd for protocols/msn


Ignore:
Timestamp:
2012-09-16T18:08:15Z (12 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
fe79de66
Parents:
79bb7e4
Message:

Don't accidentally create groupchats for 1:1 chats.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/msn/sb.c

    r79bb7e4 re9caacd  
    455455                        char buf[1024];
    456456                       
    457                         if( num == 1 )
    458                         {
    459                                 g_snprintf( buf, sizeof( buf ), "MSN groupchat session %d", sb->session );
    460                                 sb->chat = imcb_chat_new( ic, buf );
    461                                
    462                                 g_free( sb->who );
    463                                 sb->who = NULL;
    464                         }
    465                        
    466457                        /* For as much as I understand this MPOP stuff now, a
    467458                           switchboard has two (or more) roster entries per
     
    469460                           the latter. */
    470461                        if( !strchr( cmd[4], ';' ) )
    471                                 imcb_chat_add_buddy( sb->chat, cmd[4] );
    472                        
    473                         if( num == tot )
     462                        {
     463                                /* HACK: Since even 1:1 chats now have >2 participants
     464                                   (ourselves included) it gets hard to tell them apart
     465                                   from rooms. Let's hope this is enough: */
     466                                if( sb->chat == NULL && num != tot )
     467                                {
     468                                        g_snprintf( buf, sizeof( buf ), "MSN groupchat session %d", sb->session );
     469                                        sb->chat = imcb_chat_new( ic, buf );
     470                                       
     471                                        g_free( sb->who );
     472                                        sb->who = NULL;
     473                                }
     474                               
     475                                if( sb->chat )
     476                                        imcb_chat_add_buddy( sb->chat, cmd[4] );
     477                        }
     478                       
     479                        /* We have the full roster, start showing the channel to
     480                           the user. */
     481                        if( num == tot && sb->chat )
    474482                        {
    475483                                imcb_chat_add_buddy( sb->chat, ic->acc->user );
Note: See TracChangeset for help on using the changeset viewer.