]> git.0d.be Git - empathy.git/blobdiff - src/empathy-import-widget.c
Merge branch 'crash-659118'
[empathy.git] / src / empathy-import-widget.c
index 09898180a089e6d75da0990669e4c9ec4eb143a3..9a8917ffceca000738cf597f3987811112ee550c 100644 (file)
@@ -103,7 +103,7 @@ account_manager_prepared_cb (GObject *source_object,
   EmpathyImportWidgetPriv *priv = GET_PRIV (self);
   GError *error = NULL;
 
-  if (!tp_account_manager_prepare_finish (manager, result, &error))
+  if (!tp_proxy_prepare_finish (manager, result, &error))
     {
       DEBUG ("Failed to prepare account manager: %s", error->message);
       g_error_free (error);
@@ -156,7 +156,7 @@ import_widget_add_accounts_to_model (EmpathyImportWidget *self)
 
   manager = tp_account_manager_dup ();
 
-  tp_account_manager_prepare_async (manager, NULL,
+  tp_proxy_prepare_async (manager, NULL,
       account_manager_prepared_cb, self);
 
   g_object_unref (manager);
@@ -167,6 +167,7 @@ import_widget_create_account_cb (GObject *source,
   GAsyncResult *result,
   gpointer user_data)
 {
+  TpAccountManager *account_manager;
   TpAccount *account;
   GError *error = NULL;
   EmpathyImportWidget *self = user_data;
@@ -184,6 +185,13 @@ import_widget_create_account_cb (GObject *source,
 
   DEBUG ("account created\n");
 
+  if (tp_account_is_enabled (account))
+    {
+      account_manager = tp_account_manager_dup ();
+      empathy_connect_new_account (account, account_manager);
+      g_object_unref (account_manager);
+    }
+
   g_object_unref (self);
 }
 
@@ -208,7 +216,8 @@ import_widget_add_account (EmpathyImportWidget *self,
 
   DEBUG ("display name: %s\n", display_name);
 
-  properties = g_hash_table_new (NULL, NULL);
+  properties = tp_asv_new (NULL, NULL);
+  tp_asv_set_boolean (properties, TP_IFACE_ACCOUNT ".Enabled", data->enabled);
 
   tp_account_manager_create_account_async (account_manager,
       (const gchar*) data->connection_manager, data->protocol, display_name,