diff options
author | VMiklos <vmiklos@frugalware.org> | 2007-10-06 22:53:32 +0200 |
---|---|---|
committer | VMiklos <vmiklos@frugalware.org> | 2007-10-06 22:53:32 +0200 |
commit | 349ee4a168ad83cab3ac71d7fbd0cf908fa10491 (patch) | |
tree | d04570d6800312b548d6f52d0fc0c06cbe455c26 | |
parent | 79e20f9d125529daa2ae548c1d6f2be3fcb7b863 (diff) |
fix agressive groupchat mechanism
since 55f2d43, a groupchat was created even for 2 people. this is wrong. we
should not create a group chat when receiving an ACTIVEMEMBERS, only when the
CHAT's TYPE is MULTICHAT
-rw-r--r-- | skype/skype.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/skype/skype.c b/skype/skype.c index 95aab5d4..dcc50f50 100644 --- a/skype/skype.c +++ b/skype/skype.c @@ -416,19 +416,20 @@ static gboolean skype_read_callback( gpointer data, gint fd, b_input_condition c { info += 14; struct groupchat *gc = skype_chat_by_name(ic, id); - if(!gc) - gc = imcb_chat_new( ic, id ); - char **members = g_strsplit(info, " ", 0); - int i; - for(i=0;members[i];i++) + if(gc) { - if(!strcmp(members[i], sd->username)) - continue; - g_snprintf(buf, 1024, "%s@skype.com", members[i]); - imcb_chat_add_buddy(gc, buf); + char **members = g_strsplit(info, " ", 0); + int i; + for(i=0;members[i];i++) + { + if(!strcmp(members[i], sd->username)) + continue; + g_snprintf(buf, 1024, "%s@skype.com", members[i]); + imcb_chat_add_buddy(gc, buf); + } + imcb_chat_add_buddy(gc, sd->username); + g_strfreev(members); } - imcb_chat_add_buddy(gc, sd->username); - g_strfreev(members); } } } |