]> git.0d.be Git - empathy.git/commitdiff
Don't assume there is always a settings widget available
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>
Thu, 4 Mar 2010 12:16:26 +0000 (12:16 +0000)
committerSjoerd Simons <sjoerd.simons@collabora.co.uk>
Thu, 4 Mar 2010 16:40:17 +0000 (16:40 +0000)
When we exit the assistant with just salut accounts there is no account widget
for it in the normal sense, so don't crash if there isn't one. Fixes: #611792

src/empathy-account-assistant.c

index 97b7f9692a37b459d215c922185b2dd52915a2d4..c944ccc98ac9594dfb33399c0f06eceb3e32fb70 100644 (file)
@@ -348,21 +348,26 @@ account_assistant_apply_account_and_finish (EmpathyAccountAssistant *self,
     EmpathyAccountSettings *settings)
 {
   EmpathyAccountAssistantPriv *priv = GET_PRIV (self);
-  gchar *display_name;
 
   if (settings == NULL)
     return;
 
   priv->is_creating = TRUE;
 
-  /* set default display name */
-  display_name = empathy_account_widget_get_default_display_name (
-      priv->current_widget_object);
+  /* set default display name, if there is no current widget then assume the
+   * display name was already set correctly. e.g. salut account creation */
+  if (priv->current_widget_object != NULL)
+    {
+      gchar *display_name;
+
+      display_name = empathy_account_widget_get_default_display_name (
+        priv->current_widget_object);
 
-  empathy_account_settings_set_display_name_async (settings,
-      display_name, NULL, NULL);
+      empathy_account_settings_set_display_name_async (settings,
+        display_name, NULL, NULL);
 
-  g_free (display_name);
+      g_free (display_name);
+    }
 
   empathy_account_settings_apply_async (settings,
       account_assistant_apply_account_cb, self);