# HG changeset patch # User Christian Hammond # Date 1054631020 0 # Node ID fc659d75fcf75218941a9471e0a11db3cb6db98c # Parent 0a20c8e1d2ca6b2d2bc687baae0cacbd69b071e3 [gaim-migrate @ 6118] Several fixes. Checks for empty strings, and the buddy icon gets set now. committer: Tailor Script diff -r 0a20c8e1d2ca -r fc659d75fcf7 src/gtkaccount.c --- a/src/gtkaccount.c Tue Jun 03 08:51:07 2003 +0000 +++ b/src/gtkaccount.c Tue Jun 03 09:03:40 2003 +0000 @@ -716,7 +716,8 @@ } static void -__cancel_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog) +__account_win_destroy_cb(GtkWidget *w, GdkEvent *event, + AccountPrefsDialog *dialog) { if (dialog->user_split_entries != NULL) g_list_free(dialog->user_split_entries); @@ -724,16 +725,15 @@ if (dialog->protocol_opt_entries != NULL) g_list_free(dialog->protocol_opt_entries); - gtk_widget_destroy(dialog->window); - g_free(dialog); } static void -__account_win_destroy_cb(GtkWidget *w, GdkEvent *event, - AccountPrefsDialog *dialog) +__cancel_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog) { - __cancel_account_prefs_cb(NULL, dialog); + gtk_widget_destroy(dialog->window); + + __account_win_destroy_cb(NULL, NULL, dialog); } static void @@ -753,15 +753,28 @@ dialog->account = gaim_account_new(screenname, dialog->protocol); } - if ((value = gtk_entry_get_text(GTK_ENTRY(dialog->alias_entry))) != NULL) + /* Alias */ + value = gtk_entry_get_text(GTK_ENTRY(dialog->alias_entry)); + + if (*value != '\0') gaim_account_set_alias(dialog->account, value); else gaim_account_set_alias(dialog->account, NULL); + /* Buddy Icon */ + value = gtk_entry_get_text(GTK_ENTRY(dialog->buddy_icon_entry)); + + if ((dialog->prpl_info->options & OPT_PROTO_BUDDY_ICON) && *value != '\0') + gaim_account_set_buddy_icon(dialog->account, value); + else + gaim_account_set_buddy_icon(dialog->account, NULL); + + /* Remember Password */ gaim_account_set_remember_password(dialog->account, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(dialog->remember_pass_check))); + /* Check Mail */ if (dialog->prpl_info->options & OPT_PROTO_MAIL_CHECK) gaim_account_set_check_mail(dialog->account, gtk_toggle_button_get_active( @@ -769,9 +782,11 @@ /* TODO: Do something about auto-login. */ - if (gaim_account_get_remember_password(dialog->account)) - gaim_account_set_password(dialog->account, - gtk_entry_get_text(GTK_ENTRY(dialog->password_entry))); + /* Password */ + value = gtk_entry_get_text(GTK_ENTRY(dialog->password_entry)); + + if (gaim_account_get_remember_password(dialog->account) && *value != '\0') + gaim_account_set_password(dialog->account, value); else gaim_account_set_password(dialog->account, NULL); @@ -874,6 +889,10 @@ gaim_proxy_info_set_password(proxy_info, gtk_entry_get_text(GTK_ENTRY(dialog->proxy_pass_entry))); } + + gtk_widget_destroy(dialog->window); + + __account_win_destroy_cb(NULL, NULL, dialog); } static void