diff options
-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 |