]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-account-widget.c
Merge commit 'staz/dnd'
[empathy.git] / libempathy-gtk / empathy-account-widget.c
index 3b87410952690740de11caf9f330e4cf3dee1e8d..733fa383b16fba34bfa31cfbabedd8d4c28f9e39 100644 (file)
@@ -768,6 +768,7 @@ account_widget_apply_clicked_cb (GtkWidget *button,
     EmpathyAccountWidget *self)
 {
   EmpathyAccountWidgetPriv *priv = GET_PRIV (self);
+  gboolean display_name_overridden;
 
   if (priv->radiobutton_reuse != NULL)
     {
@@ -778,11 +779,15 @@ account_widget_apply_clicked_cb (GtkWidget *button,
       empathy_account_settings_set_boolean (priv->settings, "register", !reuse);
     }
 
-  if (priv->creating_account)
+  g_object_get (priv->settings,
+      "display-name-overridden", &display_name_overridden, NULL);
+
+  if (priv->creating_account || !display_name_overridden)
     {
       gchar *display_name;
 
-      /* set default display name */
+      /* set default display name for new accounts or update if user didn't
+       * manually override it. */
       display_name = empathy_account_widget_get_default_display_name (self);
 
       empathy_account_settings_set_display_name_async (priv->settings,
@@ -1897,7 +1902,7 @@ empathy_account_widget_class_init (EmpathyAccountWidgetClass *klass)
   signals[ACCOUNT_CREATED] =
       g_signal_new ("account-created", G_TYPE_FROM_CLASS (klass),
           G_SIGNAL_RUN_LAST, 0, NULL, NULL,
-          g_cclosure_marshal_VOID__POINTER,
+          g_cclosure_marshal_VOID__OBJECT,
           G_TYPE_NONE,
           1, G_TYPE_OBJECT);