summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVivek Dasmohapatra <vivek@collabora.co.uk>2010-07-07 14:11:06 +0100
committerVivek Dasmohapatra <vivek@collabora.co.uk>2010-07-07 14:11:06 +0100
commit73f16c5844184fa6a88dd3cc858a436bfbfdcace (patch)
tree074621e28cf5d4cd42f876b40ed79a5af2c285a0 /src
parent143885cfa7d023800551820fb3253649469697bf (diff)
Can't remove the watch hash entry until the individual watches have been removed
Diffstat (limited to 'src')
-rw-r--r--src/mcd-account-manager-sso.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mcd-account-manager-sso.c b/src/mcd-account-manager-sso.c
index 501b2dcb..427af93f 100644
--- a/src/mcd-account-manager-sso.c
+++ b/src/mcd-account-manager-sso.c
@@ -330,6 +330,8 @@ static void unwatch_account_keys (McdAccountManagerSso *sso,
watch->watch = NULL;
free_watch_data (watch);
}
+
+ g_hash_table_remove (sso->watches, watch_key);
}
static void _sso_updated (AgAccount * account,
@@ -500,7 +502,6 @@ static void _sso_deleted (GObject *object,
g_hash_table_remove (sso->accounts, signalled_name);
/* stop watching for updates */
- g_hash_table_remove (sso->watches, GUINT_TO_POINTER (id));
unwatch_account_keys (sso, id);
g_signal_emit_by_name (mcpa, "deleted", signalled_name);
@@ -1065,7 +1066,6 @@ _delete (const McpAccountStorage *self,
g_hash_table_remove (sso->id_name_map, GUINT_TO_POINTER (id));
/* stop watching for updates */
- g_hash_table_remove (sso->watches, GUINT_TO_POINTER (id));
unwatch_account_keys (sso, id);
}
else