summaryrefslogtreecommitdiff
path: root/libpurple/account.c
diff options
context:
space:
mode:
authorSadrul Habib Chowdhury <sadrul@pidgin.im>2009-01-21 18:34:32 +0000
committerSadrul Habib Chowdhury <sadrul@pidgin.im>2009-01-21 18:34:32 +0000
commit66c890cd7710e1c07ee7bc95bed1f9cd0d44067d (patch)
tree15cdc7ea199c0ccfd94029242705c2bbfbe857d9 /libpurple/account.c
parentf94d43d6c507d8faae1d2382e8d495d26a61b21c (diff)
parentde701476e4c93affd10d9348a89d81f4d6d9924e (diff)
downloadpidgin-66c890cd7710e1c07ee7bc95bed1f9cd0d44067d.tar.gz
propagate from branch 'im.pidgin.pidgin' (head 1bc731764f9350e649865aa63550c744b0ec3d6f)
to branch 'im.pidgin.pidgin.next.minor' (head ccb76c75d39f35f421e9f8756cab554c17d12416)
Diffstat (limited to 'libpurple/account.c')
-rw-r--r--libpurple/account.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/libpurple/account.c b/libpurple/account.c
index 75ac6ed27e..cadfe9b6f9 100644
--- a/libpurple/account.c
+++ b/libpurple/account.c
@@ -255,15 +255,20 @@ static xmlnode *
statuses_to_xmlnode(const PurplePresence *presence)
{
xmlnode *node, *child;
- GList *statuses, *status;
+ GList *statuses;
+ PurpleStatus *status;
node = xmlnode_new("statuses");
statuses = purple_presence_get_statuses(presence);
- for (status = statuses; status != NULL; status = status->next)
+ for (; statuses != NULL; statuses = statuses->next)
{
- child = status_to_xmlnode((PurpleStatus *)status->data);
- xmlnode_insert_child(node, child);
+ status = statuses->data;
+ if (purple_status_type_is_saveable(purple_status_get_type(status)))
+ {
+ child = status_to_xmlnode(status);
+ xmlnode_insert_child(node, child);
+ }
}
return node;