diff options
author | Vivek Dasmohapatra <vivek@collabora.co.uk> | 2011-03-28 19:28:33 +0100 |
---|---|---|
committer | Vivek Dasmohapatra <vivek@collabora.co.uk> | 2011-04-05 14:19:11 +0100 |
commit | 02c76ce59f1bb8ef11630cd5f0c21d3cf79c9246 (patch) | |
tree | 8e1e383381784de7958d114e3e0b4017ddc5614b | |
parent | 297c55b3e7d4c16cc2af8ee07f14879bd4f7c310 (diff) | |
download | telepathy-mission-control-02c76ce59f1bb8ef11630cd5f0c21d3cf79c9246.tar.gz |
Force Account.Removed to be emitted when the account is, well, removed.
-rw-r--r-- | src/mcd-account.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mcd-account.c b/src/mcd-account.c index 85f5ffb2..ca6a34b9 100644 --- a/src/mcd-account.c +++ b/src/mcd-account.c @@ -789,8 +789,19 @@ mcd_account_delete (McdAccount *account, } mcd_storage_commit (priv->storage, name); + if (callback != NULL) callback (account, NULL, user_data); + + /* If the account was not removed via the DBus Account interface code * + * path and something is holding a ref to it so it does not get disposed, * + * then this signal may not get fired, so we make sure it _does_ here */ + if (!priv->removed) + { + DEBUG ("Forcing Account.Removed for %s", name); + priv->removed = TRUE; + tp_svc_account_emit_removed (account); + } } void |