X-Git-Url: https://git.0d.be/?p=empathy.git;a=blobdiff_plain;f=ubuntu-online-accounts%2Fcc-plugins%2Faccount-plugins%2Fempathy-accounts-plugin-widget.c;h=58074eecfa49d132e3ffc7cc6177d1749b55e595;hp=d6713f2862974c2c127d5926faa2941988b7001a;hb=f5d311ec7a8e609dbd94914e15d2bd983f05224c;hpb=0ad138fa1c21e7f58b617fe34506ee3dc3bdc695 diff --git a/ubuntu-online-accounts/cc-plugins/account-plugins/empathy-accounts-plugin-widget.c b/ubuntu-online-accounts/cc-plugins/account-plugins/empathy-accounts-plugin-widget.c index d6713f28..58074eec 100644 --- a/ubuntu-online-accounts/cc-plugins/account-plugins/empathy-accounts-plugin-widget.c +++ b/ubuntu-online-accounts/cc-plugins/account-plugins/empathy-accounts-plugin-widget.c @@ -147,6 +147,12 @@ response_cb (GtkWidget *widget, gint response, EmpathyAccountsPluginWidget *self) { + if (!self->priv->account_widget) + { + // widget might not be ready yet + g_signal_emit (self, signals[SIG_DONE], 0); + return; + } if (response == GTK_RESPONSE_OK) { empathy_account_widget_apply_and_log_in (self->priv->account_widget); @@ -279,8 +285,8 @@ maybe_add_account_widget (EmpathyAccountsPluginWidget *self) } else { - g_signal_connect_swapped (self->priv->settings, "notify::ready", - G_CALLBACK (add_account_widget), self); + tp_g_signal_connect_object (self->priv->settings, "notify::ready", + G_CALLBACK (add_account_widget), self, G_CONNECT_SWAPPED); } }