[empathy/mc5] Remove the parameters from the unset pool when we set them again
- From: Sjoerd Simons <sjoerds src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [empathy/mc5] Remove the parameters from the unset pool when we set them again
- Date: Sat, 22 Aug 2009 18:51:48 +0000 (UTC)
commit fa77756bd1db1c0b657fc784508890330bd5bfb3
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Tue Aug 4 18:21:47 2009 +0200
Remove the parameters from the unset pool when we set them again
libempathy/empathy-account-settings.c | 36 ++++++++++++++++++++++++++++++++-
1 files changed, 35 insertions(+), 1 deletions(-)
---
diff --git a/libempathy/empathy-account-settings.c b/libempathy/empathy-account-settings.c
index 5c4644d..ad7874d 100644
--- a/libempathy/empathy-account-settings.c
+++ b/libempathy/empathy-account-settings.c
@@ -515,6 +515,29 @@ empathy_account_settings_get_tp_param (EmpathyAccountSettings *settings,
return NULL;
}
+static void
+account_settings_remove_from_unset (EmpathyAccountSettings *settings,
+ const gchar *param)
+{
+ EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
+ int idx;
+ gchar *val;
+
+ for (idx = 0; idx < priv->unset_parameters->len; idx++)
+ {
+ val = g_array_index (priv->unset_parameters, gchar *, idx);
+
+ if (!tp_strdiff (val, param))
+ {
+ priv->unset_parameters =
+ g_array_remove_index (priv->unset_parameters, idx);
+ g_free (val);
+
+ break;
+ }
+ }
+}
+
const GValue *
empathy_account_settings_get_default (EmpathyAccountSettings *settings,
const gchar *param)
@@ -572,7 +595,6 @@ empathy_account_settings_get (EmpathyAccountSettings *settings,
return empathy_account_settings_get_default (settings, param);
}
-
void
empathy_account_settings_unset (EmpathyAccountSettings *settings,
const gchar *param)
@@ -768,6 +790,8 @@ empathy_account_settings_set_string (EmpathyAccountSettings *settings,
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_string (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
void
@@ -778,6 +802,8 @@ empathy_account_settings_set_int32 (EmpathyAccountSettings *settings,
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_int32 (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
void
@@ -788,6 +814,8 @@ empathy_account_settings_set_int64 (EmpathyAccountSettings *settings,
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_int64 (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
void
@@ -798,6 +826,8 @@ empathy_account_settings_set_uint32 (EmpathyAccountSettings *settings,
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_uint32 (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
void
@@ -808,6 +838,8 @@ empathy_account_settings_set_uint64 (EmpathyAccountSettings *settings,
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_uint64 (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
void
@@ -818,6 +850,8 @@ empathy_account_settings_set_boolean (EmpathyAccountSettings *settings,
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_boolean (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]