[empathy/gnome-2-30] accounts-dialog: Ensure correct connectivity information
- From: Rob Bradford <rbradford src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy/gnome-2-30] accounts-dialog: Ensure correct connectivity information
- Date: Thu, 3 Jun 2010 13:47:08 +0000 (UTC)
commit 77e7d105ecc88a77bd7838d36512b4dd3d4d8877
Author: Rob Bradford <rob linux intel com>
Date: Wed Jun 2 12:47:34 2010 +0100
accounts-dialog: Ensure correct connectivity information
Move the creation of the EmpathyConnectivity object to the dialog
construction so that there is time for the asynchronous calls that
the EmpathyConnectivity makes (in ConnMan mode) to return.
Without this change the error is always reported as network connection failure
rather than the real error when built with ConnMan.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=620474
src/empathy-accounts-dialog.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 90fc37f..a027778 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -113,6 +113,7 @@ typedef struct {
TpAccountManager *account_manager;
EmpathyConnectionManagers *cms;
+ EmpathyConnectivity *connectivity;
GtkWindow *parent_window;
TpAccount *initial_selection;
@@ -201,7 +202,6 @@ accounts_dialog_update_status_infobar (EmpathyAccountsDialog *dialog,
guint status;
guint reason;
guint presence;
- EmpathyConnectivity *connectivity;
GtkTreeView *view;
GtkTreeModel *model;
GtkTreeSelection *selection;
@@ -303,11 +303,9 @@ accounts_dialog_update_status_infobar (EmpathyAccountsDialog *dialog,
GTK_MESSAGE_ERROR);
}
- connectivity = empathy_connectivity_dup_singleton ();
- if (!empathy_connectivity_is_online (connectivity))
+ if (!empathy_connectivity_is_online (priv->connectivity))
message = _("Offline â?? No Network Connection");
- g_object_unref (connectivity);
ephy_spinner_stop (EPHY_SPINNER (priv->throbber));
gtk_widget_show (priv->image_status);
gtk_widget_hide (priv->throbber);
@@ -2140,6 +2138,12 @@ do_dispose (GObject *obj)
priv->cms = NULL;
}
+ if (priv->connectivity)
+ {
+ g_object_unref (priv->connectivity);
+ priv->connectivity = NULL;
+ }
+
if (priv->initial_selection != NULL)
g_object_unref (priv->initial_selection);
priv->initial_selection = NULL;
@@ -2224,6 +2228,8 @@ do_constructed (GObject *object)
gtk_widget_show (import_dialog);
}
}
+
+ priv->connectivity = empathy_connectivity_dup_singleton ();
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]