aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--e-util/e-signature.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/e-util/e-signature.c b/e-util/e-signature.c
index 1b22dbafa0..2d8da48c12 100644
--- a/e-util/e-signature.c
+++ b/e-util/e-signature.c
@@ -445,8 +445,13 @@ e_signature_set_from_xml (ESignature *signature, const gchar *xml)
return FALSE;
}
- if (!signature->priv->uid)
- xml_set_prop (node, "uid", &signature->priv->uid);
+ buf = NULL;
+ xml_set_prop (node, "uid", &buf);
+
+ if (buf && *buf) {
+ g_free (signature->priv->uid);
+ signature->priv->uid = buf;
+ }
changed |= xml_set_prop (node, "name", &signature->priv->name);
changed |= xml_set_bool (node, "auto", &signature->priv->autogenerated);