diff libpurple/protocols/qq/group_info.c @ 24154:237e5a94e11c

2008.10.08 - ccpaging <ccpaging(at)gmail.com> * Update group part * Delete some meaningless functions and data * Added 'change my icon' 2008.10.08 - lonicerae <lonicerae(at)gmail.com> * Merge 20081008 patch into trunk
author SHiNE CsyFeK <csyfek@gmail.com>
date Wed, 22 Oct 2008 15:08:30 +0000
parents 818ab62006f5
children 3c52353b83ae
line wrap: on
line diff
--- a/libpurple/protocols/qq/group_info.c	Wed Oct 22 15:06:26 2008 +0000
+++ b/libpurple/protocols/qq/group_info.c	Wed Oct 22 15:08:30 2008 +0000
@@ -28,6 +28,7 @@
 #include "debug.h"
 
 #include "char_conv.h"
+#include "group_im.h"
 #include "group_find.h"
 #include "group_internal.h"
 #include "group_info.h"
@@ -146,7 +147,6 @@
 	guint8 organization, role;
 	guint16 unknown, max_members;
 	guint32 member_uid, id, ext_id;
-	GSList *pending_id;
 	guint32 unknown4;
 	guint8 unknown1;
 	gint bytes, num;
@@ -165,9 +165,7 @@
 	bytes += qq_get32(&ext_id, data + bytes);
 	g_return_if_fail(ext_id > 0);
 
-	pending_id = qq_get_pending_id(qd->adding_groups_from_server, id);
-	if (pending_id != NULL) {
-		qq_set_pending_id(&qd->adding_groups_from_server, id, FALSE);
+	if (action == QQ_ROOM_INFO_CREATE ) {
 		qq_group_create_internal_record(gc, id, ext_id, NULL);
 	}
 
@@ -299,6 +297,7 @@
 	}
 
 	purple_debug_info("QQ", "Group \"%s\" has %d online members\n", group->title_utf8, num);
+	qq_room_conv_set_onlines(gc, group);
 }
 
 /* process the reply to get_members_info packet */
@@ -358,5 +357,8 @@
 				"group_cmd_get_members_info: Dangerous error! maybe protocol changed, notify developers!");
 	}
 	purple_debug_info("QQ", "Group \"%s\" obtained %d member info\n", group->title_utf8, num);
+
+	group->is_got_buddies = TRUE;
+	qq_room_conv_set_onlines(gc, group);
 }