Wed, 22 Oct 2008 15:08:30 +0000
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
|
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:
14466
diff
changeset
|
2 | * @file group_free.c |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
3 | * |
| 15884 | 4 | * purple |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
5 | * |
| 15884 | 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:
14466
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:
14466
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 | |
|
18273
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15884
diff
changeset
|
25 | #include "internal.h" |
|
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15884
diff
changeset
|
26 | |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
27 | #include "debug.h" |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
28 | |
|
24355
c9deccad8f3f
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24354
diff
changeset
|
29 | #include "buddy_opt.h" |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
30 | #include "group_free.h" |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
31 | |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
32 | /* gracefully free all members in a group */ |
|
14466
4fcd9fdc8060
[gaim-migrate @ 17112]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14254
diff
changeset
|
33 | static void qq_group_free_member(qq_group *group) |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
34 | { |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
35 | gint i; |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
36 | GList *list; |
|
24355
c9deccad8f3f
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24354
diff
changeset
|
37 | qq_buddy_data *bd; |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
38 | |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
39 | g_return_if_fail(group != NULL); |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
40 | i = 0; |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
41 | while (NULL != (list = group->members)) { |
|
24355
c9deccad8f3f
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24354
diff
changeset
|
42 | bd = (qq_buddy_data *) list->data; |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
43 | i++; |
|
24355
c9deccad8f3f
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24354
diff
changeset
|
44 | group->members = g_list_remove(group->members, bd); |
|
c9deccad8f3f
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24354
diff
changeset
|
45 | qq_buddy_data_free(bd); |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
46 | } |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
47 | |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
48 | group->members = NULL; |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
49 | } |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
50 | |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
51 | /* gracefully free the memory for one qq_group */ |
|
14466
4fcd9fdc8060
[gaim-migrate @ 17112]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14254
diff
changeset
|
52 | void qq_group_free(qq_group *group) |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
53 | { |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
54 | g_return_if_fail(group != NULL); |
|
14466
4fcd9fdc8060
[gaim-migrate @ 17112]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14254
diff
changeset
|
55 | qq_group_free_member(group); |
|
24314
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24300
diff
changeset
|
56 | g_free(group->my_role_desc); |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24300
diff
changeset
|
57 | g_free(group->title_utf8); |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24300
diff
changeset
|
58 | g_free(group->desc_utf8); |
|
23212
a39a33c79a3f
2008.07.12 - ccpaging <ecc_hy(at)hotmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
19859
diff
changeset
|
59 | g_free(group->notice_utf8); |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
60 | g_free(group); |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
61 | } |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
62 | |
|
24354
dcb8e72dad63
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24314
diff
changeset
|
63 | void qq_group_free_all(PurpleConnection *gc) |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
64 | { |
|
24354
dcb8e72dad63
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24314
diff
changeset
|
65 | qq_data *qd; |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
66 | qq_group *group; |
|
24314
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24300
diff
changeset
|
67 | gint count; |
|
24300
aa3947bf4a6a
disapproval of revision 'b3ebedfac7cbad2b4bdd322c45aa572c3cd2795b'
Daniel Atallah <datallah@pidgin.im>
parents:
24019
diff
changeset
|
68 | |
|
24354
dcb8e72dad63
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24314
diff
changeset
|
69 | g_return_if_fail (gc != NULL && gc->proto_data != NULL); |
|
dcb8e72dad63
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24314
diff
changeset
|
70 | qd = (qq_data *) gc->proto_data; |
|
dcb8e72dad63
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24314
diff
changeset
|
71 | |
|
24314
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24300
diff
changeset
|
72 | count = 0; |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
73 | while (qd->groups != NULL) { |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
74 | group = (qq_group *) qd->groups->data; |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
75 | qd->groups = g_list_remove(qd->groups, group); |
|
14466
4fcd9fdc8060
[gaim-migrate @ 17112]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14254
diff
changeset
|
76 | qq_group_free(group); |
|
24314
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24300
diff
changeset
|
77 | count++; |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
78 | } |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
79 | |
|
24314
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24300
diff
changeset
|
80 | if (count > 0) { |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24300
diff
changeset
|
81 | purple_debug_info("QQ", "%d rooms are freed\n", count); |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24300
diff
changeset
|
82 | } |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
83 | } |