libpurple/protocols/qq/group_conv.c

Mon, 15 Sep 2008 03:03:11 +0000

author
SHiNE CsyFeK <csyfek@gmail.com>
date
Mon, 15 Sep 2008 03:03:11 +0000
changeset 24022
d01a6b8ccfad
parent 24021
ac2108c5b5f4
child 24304
7fcbc127617e
permissions
-rw-r--r--

applied changes from 5688199e261449d33b5803dafff50d860896ebcb
through 5316525f53e27f838d18a6a08b82c7d55f674591

Reapplied 5316525f53e27f838d18a6a08b82c7d55f674591

2008.09.11 - csyfek <csyfek(at)gmail.com>
* Commit to Pidgin
2008.09.05 - ccpaging <ccpaging(at)gmail.com>
* Filter chars 0x01-0x20 in nickname
2008.09.05 - ccpaging <ccpaging(at)gmail.com>
* Fixed compilation even pidgin-udp-patch not applied
* Place and analysis 'before login packet' after login. packages will be updated slowly and server may send
lots of 'server command packet', while 'before login packet' is placed after 'finished update'



committer: Daniel Atallah <datallah@pidgin.im>

13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
1 /**
15087
78879d4adf13 [gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14691
diff changeset
2 * @file group_conv.c
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
4 * purple
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
5 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
15087
78879d4adf13 [gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14691
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
78879d4adf13 [gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14691
diff changeset
8 * source distribution.
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
9 *
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
13 * (at your option) any later version.
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
14 *
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
18 * GNU General Public License for more details.
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
19 *
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
21 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18273
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
23 */
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
24
14083
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
25 #include <glib.h>
18273
e61c53184c52 #include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16271
diff changeset
26 #include "qq.h"
e61c53184c52 #include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16271
diff changeset
27
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
28 #include "group_conv.h"
23950
a974649cdb89 2008.08.02 - csyfek <csyfek(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23212
diff changeset
29 #include "buddy_list.h"
24021
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
30 #include "header_info.h"
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
31 #include "qq_network.h"
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
32 #include "qq_process.h"
14083
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
33 #include "utils.h"
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
34
14083
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
35 /* show group conversation window */
24021
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
36 PurpleConversation *qq_room_conv_create(PurpleConnection *gc, qq_group *group)
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
37 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
38 PurpleConversation *conv;
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
39 qq_data *qd;
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
40
24021
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
41 g_return_val_if_fail(group != NULL, NULL);
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
42 qd = (qq_data *) gc->proto_data;
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
43
24021
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
44 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT,
24019
c0801ae3c886 applied changes from f12c8903079425d7850fa183df0b3f937b2952be
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23950
diff changeset
45 group->title_utf8, purple_connection_get_account(gc));
24021
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
46 if (conv != NULL) {
24022
d01a6b8ccfad applied changes from 5688199e261449d33b5803dafff50d860896ebcb
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24021
diff changeset
47 /* show only one conversation per group */
24021
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
48 return conv;
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
49 }
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
50
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
51 serv_got_joined_chat(gc, qd->channel++, group->title_utf8);
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
52 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, group->title_utf8, purple_connection_get_account(gc));
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
53 if (conv != NULL) {
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
54 purple_conv_chat_set_topic(PURPLE_CONV_CHAT(conv), NULL, group->notice_utf8);
24022
d01a6b8ccfad applied changes from 5688199e261449d33b5803dafff50d860896ebcb
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24021
diff changeset
55 if (group->is_got_info)
d01a6b8ccfad applied changes from 5688199e261449d33b5803dafff50d860896ebcb
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24021
diff changeset
56 qq_send_room_cmd_only(gc, QQ_ROOM_CMD_GET_ONLINES, group->id);
d01a6b8ccfad applied changes from 5688199e261449d33b5803dafff50d860896ebcb
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24021
diff changeset
57 else
d01a6b8ccfad applied changes from 5688199e261449d33b5803dafff50d860896ebcb
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24021
diff changeset
58 qq_update_room(gc, 0, group->id);
24021
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
59 return conv;
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
60 }
ac2108c5b5f4 applied changes from 92d52eef2994d2697999177804e3665989cfa352
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24019
diff changeset
61 return NULL;
14083
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
62 }
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
63
14083
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
64 /* refresh online member in group conversation window */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
65 void qq_group_conv_refresh_online_member(PurpleConnection *gc, qq_group *group)
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
66 {
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
67 GList *names, *list, *flags;
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
68 qq_buddy *member;
16271
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
69 gchar *member_name, *member_uid;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
70 PurpleConversation *conv;
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
71 gint flag;
14691
efb5fd0a34b7 [gaim-migrate @ 17375]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14466
diff changeset
72 g_return_if_fail(group != NULL);
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
73
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
74 names = NULL;
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
75 flags = NULL;
16271
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
76 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT,
24019
c0801ae3c886 applied changes from f12c8903079425d7850fa183df0b3f937b2952be
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23950
diff changeset
77 group->title_utf8, purple_connection_get_account(gc));
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
78 if (conv != NULL && group->members != NULL) {
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
79 list = group->members;
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
80 while (list != NULL) {
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
81 member = (qq_buddy *) list->data;
16271
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
82
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
83 /* we need unique identifiers for everyone in the chat or else we'll
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
84 * run into problems with functions like get_cb_real_name from qq.c */
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
85 member_name = (member->nickname != NULL && *(member->nickname) != '\0') ?
14466
4fcd9fdc8060 [gaim-migrate @ 17112]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14254
diff changeset
86 g_strdup_printf("%s (qq-%u)", member->nickname, member->uid) :
16271
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
87 g_strdup_printf("(qq-%u)", member->uid);
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
88 member_uid = g_strdup_printf("(qq-%u)", member->uid);
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
89
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
90 flag = 0;
14083
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
91 /* TYPING to put online above OP and FOUNDER */
16271
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
92 if (is_online(member->status))
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
93 flag |= (PURPLE_CBFLAGS_TYPING | PURPLE_CBFLAGS_VOICE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
94 if(1 == (member->role & 1)) flag |= PURPLE_CBFLAGS_OP;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
95 if(member->uid == group->creator_uid) flag |= PURPLE_CBFLAGS_FOUNDER;
16271
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
96
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
97 if (purple_conv_chat_find_user(PURPLE_CONV_CHAT(conv), member_name))
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
98 {
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
99 purple_conv_chat_user_set_flags(PURPLE_CONV_CHAT(conv),
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
100 member_name,
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
101 flag);
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
102 } else if (purple_conv_chat_find_user(PURPLE_CONV_CHAT(conv), member_uid))
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
103 {
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
104 purple_conv_chat_user_set_flags(PURPLE_CONV_CHAT(conv),
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
105 member_uid,
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
106 flag);
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
107 purple_conv_chat_rename_user(PURPLE_CONV_CHAT(conv), member_uid, member_name);
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
108 } else {
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
109 /* always put it even offline */
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
110 names = g_list_append(names, member_name);
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
111 flags = g_list_append(flags, GINT_TO_POINTER(flag));
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
112 }
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
113 g_free(member_uid);
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
114 list = list->next;
14083
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
115 }
16271
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
116
23212
a39a33c79a3f 2008.07.12 - ccpaging <ecc_hy(at)hotmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 19859
diff changeset
117 if (names != NULL && flags != NULL) {
a39a33c79a3f 2008.07.12 - ccpaging <ecc_hy(at)hotmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 19859
diff changeset
118 purple_conv_chat_add_users(PURPLE_CONV_CHAT(conv), names, NULL, flags, FALSE);
a39a33c79a3f 2008.07.12 - ccpaging <ecc_hy(at)hotmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 19859
diff changeset
119 }
14083
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
120 }
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
121 /* clean up names */
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
122 while (names != NULL) {
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
123 member_name = (gchar *) names->data;
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
124 names = g_list_remove(names, member_name);
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
125 g_free(member_name);
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
126 }
16271
9605b8b1c673 Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents: 15884
diff changeset
127 g_list_free(flags);
14083
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
128 }

mercurial