[empathy] uoa-migration: delete account if plugin is missing
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy] uoa-migration: delete account if plugin is missing
- Date: Tue, 28 Aug 2012 08:59:53 +0000 (UTC)
commit c020298d0898da9f6ba17ab5e1dd3bdd68b74b2c
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Tue Aug 28 10:19:00 2012 +0200
uoa-migration: delete account if plugin is missing
Best to have to re-create an account than having a ghost account staying
around.
src/empathy-sanity-cleaning.c | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
---
diff --git a/src/empathy-sanity-cleaning.c b/src/empathy-sanity-cleaning.c
index 9c9d83c..326b646 100644
--- a/src/empathy-sanity-cleaning.c
+++ b/src/empathy-sanity-cleaning.c
@@ -431,6 +431,24 @@ migrate_account_to_uoa (TpAccountManager *am,
}
static void
+uoa_account_remove_cb (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ TpAccount *account = TP_ACCOUNT (source);
+ GError *error = NULL;
+
+ if (!tp_account_remove_finish (account, result, &error))
+ {
+ DEBUG ("Failed to remove account '%s': %s",
+ tp_account_get_path_suffix (account), error->message);
+ g_error_free (error);
+ }
+
+ g_object_set_data (G_OBJECT (account), DATA_SANITY_CTX, NULL);
+}
+
+static void
uoa_plugin_install_cb (GObject *source,
GAsyncResult *result,
gpointer user_data)
@@ -441,10 +459,12 @@ uoa_plugin_install_cb (GObject *source,
if (!empathy_pkg_kit_install_packages_finish (result, &error))
{
- DEBUG ("Failed to install plugin: %s", error->message);
+ DEBUG ("Failed to install plugin for account '%s' (%s); remove it",
+ tp_account_get_path_suffix (account), error->message);
+
g_error_free (error);
- g_object_set_data (G_OBJECT (account), DATA_SANITY_CTX, NULL);
+ tp_account_remove_async (account, uoa_account_remove_cb, NULL);
goto out;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]