diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-05-23 21:33:30 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-05-23 21:33:59 +0800 |
commit | dd56cdf3f64b50ada5db0ef6960519bc19815327 (patch) | |
tree | c30cbd8977ac336fff457e4290e305c516893b1f /src | |
parent | 2ddd3df3a2764f78874d67f6a0ccc023a3c004de (diff) | |
download | gsoc2013-empathy-dd56cdf3f64b50ada5db0ef6960519bc19815327.tar.gz gsoc2013-empathy-dd56cdf3f64b50ada5db0ef6960519bc19815327.tar.zst gsoc2013-empathy-dd56cdf3f64b50ada5db0ef6960519bc19815327.zip |
accounts-dialog: don't crash if the account is connecting
https://bugzilla.gnome.org/show_bug.cgi?id=676637
Diffstat (limited to 'src')
-rw-r--r-- | src/empathy-accounts-dialog.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c index 4de6911e1..578f998bc 100644 --- a/src/empathy-accounts-dialog.c +++ b/src/empathy-accounts-dialog.c @@ -785,14 +785,13 @@ account_dialog_show_contact_details_failed (EmpathyAccountsDialog *dialog, static void create_contact_info_editor (EmpathyAccountsDialog *self, - TpConnection *conn) + TpContact *tp_contact) { EmpathyAccountsDialogPriv *priv = GET_PRIV (self); GtkWidget *editor, *alig; EmpathyContact *contact; - contact = empathy_contact_dup_from_tp_contact ( - tp_connection_get_self_contact (conn)); + contact = empathy_contact_dup_from_tp_contact (tp_contact); alig = gtk_alignment_new (0.5, 0, 1, 1); @@ -819,6 +818,7 @@ account_dialog_create_dialog_content (EmpathyAccountsDialog *dialog, const gchar *icon_name; TpAccount *account; TpConnection *conn = NULL; + TpContact *contact = NULL; GtkWidget *bbox, *button; account = empathy_account_settings_get_account (settings); @@ -835,7 +835,12 @@ account_dialog_create_dialog_content (EmpathyAccountsDialog *dialog, if (conn != NULL && tp_proxy_get_invalidated (conn) == NULL) { - create_contact_info_editor (dialog, conn); + contact = tp_connection_get_self_contact (conn); + } + + if (contact != NULL) + { + create_contact_info_editor (dialog, contact); } else { |