aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy/empathy-account.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libempathy/empathy-account.c b/libempathy/empathy-account.c
index ffb6e6786..ae17f8d6a 100644
--- a/libempathy/empathy-account.c
+++ b/libempathy/empathy-account.c
@@ -234,8 +234,11 @@ empathy_account_update (EmpathyAccount *account,
}
if (g_hash_table_lookup (properties, "DisplayName") != NULL)
- priv->display_name =
- g_strdup (tp_asv_get_string (properties, "DisplayName"));
+ {
+ g_free (priv->display_name);
+ priv->display_name =
+ g_strdup (tp_asv_get_string (properties, "DisplayName"));
+ }
if (g_hash_table_lookup (properties, "Enabled") != NULL)
{
@@ -257,6 +260,9 @@ empathy_account_update (EmpathyAccount *account,
parameters = tp_asv_get_boxed (properties, "Parameters",
TP_HASH_TYPE_STRING_VARIANT_MAP);
+ if (priv->parameters != NULL)
+ g_hash_table_unref (priv->parameters);
+
priv->parameters = g_boxed_copy (TP_HASH_TYPE_STRING_VARIANT_MAP,
parameters);
}