]> git.0d.be Git - empathy.git/commitdiff
emit account-created signal outside enabled_cb
authorFelix Kaser <f.kaser@gmx.net>
Tue, 24 Nov 2009 17:13:17 +0000 (18:13 +0100)
committerFelix Kaser <f.kaser@gmx.net>
Tue, 1 Dec 2009 16:18:55 +0000 (17:18 +0100)
the account-created signal should be emitted independently from enabled-callback. the signal should be emitted even if for some reason the account could not be enabled.

libempathy-gtk/empathy-account-widget.c

index f69f041f1dbc5bbb6924cb68d2190e8c2cc2f85c..a5b5b792610dab234adc062c710bcd7ba80ac454 100644 (file)
@@ -652,21 +652,14 @@ account_widget_account_enabled_cb (GObject *source_object,
 {
   GError *error = NULL;
   TpAccount *account = TP_ACCOUNT (source_object);
-  EmpathyAccountWidget *widget = EMPATHY_ACCOUNT_WIDGET (user_data);
-  EmpathyAccountWidgetPriv *priv = GET_PRIV (widget);
 
   tp_account_set_enabled_finish (account, res, &error);
 
   if (error != NULL)
     {
-      DEBUG ("Could not automatically enable new account: %s", error->message);
+      DEBUG ("Could not enable the account: %s", error->message);
       g_error_free (error);
     }
-  else
-    {
-      priv->account_created = TRUE;
-      g_signal_emit (widget, signals[ACCOUNT_CREATED], 0);
-    }
 }
 
 static void
@@ -697,7 +690,9 @@ account_widget_applied_cb (GObject *source_object,
         {
           /* By default, when an account is created, we enable it. */
           tp_account_set_enabled_async (account, TRUE,
-              account_widget_account_enabled_cb, widget);
+              account_widget_account_enabled_cb, NULL);
+          priv->account_created = TRUE;
+          g_signal_emit (widget, signals[ACCOUNT_CREATED], 0);
         }
       else if (priv->enabled_checkbox != NULL)
         {