diff options
-rw-r--r-- | 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 90fc37f8d..a02777885 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 |