libpurple/account.c

changeset 25445
b36f23e05c50
parent 25113
eacb566127a7
child 25871
2983039b4515
--- a/libpurple/account.c	Tue Jan 20 03:30:36 2009 +0000
+++ b/libpurple/account.c	Tue Jan 20 04:08:00 2009 +0000
@@ -257,15 +257,20 @@
 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;

mercurial