]> git.0d.be Git - empathy.git/commitdiff
Unref profile and improve a bit default account domain code.
authorXavier Claessens <xclaesse@src.gnome.org>
Fri, 4 Jul 2008 14:49:23 +0000 (14:49 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Fri, 4 Jul 2008 14:49:23 +0000 (14:49 +0000)
svn path=/trunk/; revision=1194

libempathy-gtk/empathy-account-widget.c

index 044e4f7e0dd026d0e2259349d101191fe4c7a5c1..cf01f899f2eba475b6a4e7c0923a6267e45d82f4 100644 (file)
@@ -60,31 +60,27 @@ account_widget_entry_focus_cb (GtkWidget     *widget,
                gtk_entry_set_text (GTK_ENTRY (widget), value ? value : "");
                g_free (value);
        } else {
-               McProfile *profile;
-               const gchar *default_account_domain = NULL;
-               gchar *value = NULL;
+               McProfile   *profile;
+               const gchar *domain = NULL;
+               gchar       *dup_str = NULL;
 
                profile = mc_account_get_profile (account);
                if (mc_profile_get_capabilities (profile) &
-                       MC_PROFILE_CAPABILITY_SPLIT_ACCOUNT) {
-
-                       default_account_domain = mc_profile_get_default_account_domain (profile);
+                   MC_PROFILE_CAPABILITY_SPLIT_ACCOUNT) {
+                       domain = mc_profile_get_default_account_domain (profile);
                }
 
-               if ((strcmp (param_name, "account") == 0) && default_account_domain &&
-                       !strstr (str, "@")) {
-
-                       DEBUG ("Adding @%s suffix to account",
-                               default_account_domain);
-                       value = g_strconcat (str, "@", default_account_domain, NULL);
-                       gtk_entry_set_text (GTK_ENTRY (widget), value);
-               } else {
-                       value = g_strdup (str);
+               if (domain && !strstr (str, "@") &&
+                   strcmp (param_name, "account") == 0) {
+                       DEBUG ("Adding @%s suffix to account", domain);
+                       str = dup_str = g_strconcat (str, "@", domain, NULL);
+                       gtk_entry_set_text (GTK_ENTRY (widget), str);
                }
                DEBUG ("Setting %s to %s", param_name,
-                       strstr (param_name, "password") ? "***" : value);
-               mc_account_set_param_string (account, param_name, value);
-               g_free (value);
+                       strstr (param_name, "password") ? "***" : str);
+               mc_account_set_param_string (account, param_name, str);
+               g_free (dup_str);
+               g_object_unref (profile);
        }
 
        return FALSE;