summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivek Dasmohapatra <vivek@collabora.co.uk>2010-09-14 14:31:57 +0100
committerVivek Dasmohapatra <vivek@collabora.co.uk>2010-09-14 14:31:57 +0100
commit84adc5d2a14b19f42c06cabbe4cb807ba7a0e274 (patch)
tree27b441bf3ce2ca07de491aca1e5f742cc429d67b
parentd79c76c46d7c88b31ad865c2c25109a87f5591c5 (diff)
downloadtelepathy-mission-control-84adc5d2a14b19f42c06cabbe4cb807ba7a0e274.tar.gz
Make sure the type of the passed in value matches the type from McdStorage
-rw-r--r--src/mcd-account-manager-query.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/src/mcd-account-manager-query.c b/src/mcd-account-manager-query.c
index fbca8637..4ec82171 100644
--- a/src/mcd-account-manager-query.c
+++ b/src/mcd-account-manager-query.c
@@ -117,24 +117,27 @@ match_account_parameter (McdAccount *account, const gchar *name,
if (conf != NULL)
{
- switch (vtype)
+ if (G_VALUE_TYPE (conf) == vtype)
{
- case G_TYPE_STRING:
- match = g_strcmp0 (g_value_get_string (value),
- g_value_get_string (conf)) == 0;
- break;
-
- case G_TYPE_UINT:
- match = g_value_get_uint (value) == g_value_get_uint (conf);
- break;
-
- case G_TYPE_BOOLEAN:
- match =
- g_value_get_boolean (value) == g_value_get_boolean (conf);
- break;
-
- default:
- break;
+ switch (vtype)
+ {
+ case G_TYPE_STRING:
+ match = g_strcmp0 (g_value_get_string (value),
+ g_value_get_string (conf)) == 0;
+ break;
+
+ case G_TYPE_UINT:
+ match = g_value_get_uint (value) == g_value_get_uint (conf);
+ break;
+
+ case G_TYPE_BOOLEAN:
+ match =
+ g_value_get_boolean (value) == g_value_get_boolean (conf);
+ break;
+
+ default:
+ break;
+ }
}
tp_g_value_slice_free (conf);