src/savedstatuses.c

changeset 12283
1882e6c066e9
parent 12197
706655f09bbc
child 12309
e42cff3223a3
--- a/src/savedstatuses.c	Thu Dec 01 05:52:21 2005 +0000
+++ b/src/savedstatuses.c	Thu Dec 01 05:58:43 2005 +0000
@@ -170,7 +170,22 @@
 
 	node = xmlnode_new("status");
 	if (status->title != NULL)
+	{
 		xmlnode_set_attrib(node, "name", status->title);
+	}
+	else
+	{
+		/*
+		 * Gaim 1.5.0 and earlier require a name to be set, so we
+		 * do this little hack to maintain backward compatability
+		 * in the status.xml file.  Eventually this should be used
+		 * and we should determine if a status is transient by
+		 * whether the "name" attribute is set to something or if
+		 * it does not exist at all.
+		 */
+		xmlnode_set_attrib(node, "name", "Auto-Cached");
+		xmlnode_set_attrib(node, "transient", "true");
+	}
 
 	snprintf(buf, sizeof(buf), "%lu", status->creation_time);
 	xmlnode_set_attrib(node, "created", buf);
@@ -336,9 +351,13 @@
 
 	ret = g_new0(GaimSavedStatus, 1);
 
-	/* Read the title */
-	attrib = xmlnode_get_attrib(status, "name");
-	ret->title = g_strdup(attrib);
+	attrib = xmlnode_get_attrib(status, "transient");
+	if ((attrib == NULL) || (strcmp(attrib, "true")))
+	{
+		/* Read the title */
+		attrib = xmlnode_get_attrib(status, "name");
+		ret->title = g_strdup(attrib);
+	}
 
 	if (ret->title != NULL)
 	{

mercurial