From 9219415733151bc6d48d88bacf19cdad647a6c69 Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Date: Tue, 13 Sep 2011 12:17:50 +0200
Subject: GOA plugin: only save parameters from GOA accounts

We should let MC deal with normal accounts.

https://bugzilla.gnome.org/show_bug.cgi?id=658895
---
 goa-mc-plugin/mcp-account-manager-goa.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/goa-mc-plugin/mcp-account-manager-goa.c b/goa-mc-plugin/mcp-account-manager-goa.c
index a1fe9f8e1..5c6cd3896 100644
--- a/goa-mc-plugin/mcp-account-manager-goa.c
+++ b/goa-mc-plugin/mcp-account-manager-goa.c
@@ -427,6 +427,14 @@ mcp_account_manager_goa_get (const McpAccountStorage *self,
   return TRUE;
 }
 
+static gboolean
+account_is_in_goa (const McpAccountStorage *self,
+    const gchar *account)
+{
+  McpAccountManagerGoaPrivate *priv = GET_PRIVATE (self);
+
+  return (g_hash_table_lookup (priv->accounts, acct) != NULL);
+}
 
 static gboolean
 mcp_account_manager_goa_set (const McpAccountStorage *self,
@@ -438,6 +446,9 @@ mcp_account_manager_goa_set (const McpAccountStorage *self,
   McpAccountManagerGoaPrivate *priv = GET_PRIVATE (self);
   GError *error = NULL;
 
+  if (!account_is_in_goa (self, account))
+    return FALSE;
+
   /* No need to save Enabled, it's up to the GOA configuration if the account
    * is configured or not. */
   if (!tp_strdiff (key, "Enabled"))
@@ -463,6 +474,9 @@ mcp_account_manager_goa_delete (const McpAccountStorage *self,
 {
   McpAccountManagerGoaPrivate *priv = GET_PRIVATE (self);
 
+  if (!account_is_in_goa (self, account))
+    return FALSE;
+
   DEBUG ("%s: (%s, %s)", G_STRFUNC, account, key);
 
   if (key == NULL)
-- 
cgit v1.2.3