diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-07-31 06:16:49 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-07-31 06:16:49 +0800 |
commit | bf408fed06a3da3336303f2d1085d1d6e5df3ce4 (patch) | |
tree | e92dea62b9d87391224c8e711bf492b3be4068a7 /mail/mail-mt.c | |
parent | 61889c3c088058549f4d8bbd650043c2075b697c (diff) | |
download | gsoc2013-evolution-bf408fed06a3da3336303f2d1085d1d6e5df3ce4.tar.gz gsoc2013-evolution-bf408fed06a3da3336303f2d1085d1d6e5df3ce4.tar.zst gsoc2013-evolution-bf408fed06a3da3336303f2d1085d1d6e5df3ce4.zip |
We are not guarenteed to have a non-NULL service (ie. PGP) thus check for
2001-07-30 Jeffrey Stedfast <fejj@ximian.com>
* mail-mt.c (do_get_pass): We are not guarenteed to have a
non-NULL service (ie. PGP) thus check for it.
(pass_got): And again here.
(mail_get_password): And of course here too.
svn path=/trunk/; revision=11493
Diffstat (limited to 'mail/mail-mt.c')
-rw-r--r-- | mail/mail-mt.c | 47 |
1 files changed, 28 insertions, 19 deletions
diff --git a/mail/mail-mt.c b/mail/mail-mt.c index 742c849e6f..a0d500ebd2 100644 --- a/mail/mail-mt.c +++ b/mail/mail-mt.c @@ -406,21 +406,24 @@ pass_got (char *string, void *data) m->result = g_strdup (string); remember = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (m->tb)); - mca = mail_config_get_account_by_source_url (m->service_url); - if (mca) - mail_config_service_set_save_passwd (mca->source, remember); - else { - mca = mail_config_get_account_by_transport_url (m->service_url); + if (m->service_url) { + mca = mail_config_get_account_by_source_url (m->service_url); if (mca) - mail_config_service_set_save_passwd (mca->transport, remember); - else - printf ("Cannot figure out which account owns URL \"%s\" (could before?)\n", m->service_url); + mail_config_service_set_save_passwd (mca->source, remember); + else { + mca = mail_config_get_account_by_transport_url (m->service_url); + if (mca) + mail_config_service_set_save_passwd (mca->transport, remember); + else + printf ("Cannot figure out which account owns URL \"%s\" (could before?)\n", + m->service_url); + } } } } static void -do_get_pass(struct _mail_msg *mm) +do_get_pass (struct _mail_msg *mm) { struct _pass_msg *m = (struct _pass_msg *)mm; const MailConfigAccount *mca; @@ -436,16 +439,18 @@ do_get_pass(struct _mail_msg *mm) tb = gtk_check_button_new_with_label (_("Remember this password")); gtk_widget_show (tb); - mca = mail_config_get_account_by_source_url (m->service_url); - if (mca) - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tb), mca->source->save_passwd); - else { - mca = mail_config_get_account_by_transport_url (m->service_url); + if (m->service_url) { + mca = mail_config_get_account_by_source_url (m->service_url); if (mca) - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tb), mca->transport->save_passwd); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tb), mca->source->save_passwd); else { - printf ("Cannot figure out which account owns URL \"%s\"\n", m->service_url); - gtk_widget_hide (tb); + mca = mail_config_get_account_by_transport_url (m->service_url); + if (mca) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tb), mca->transport->save_passwd); + else { + printf ("Cannot figure out which account owns URL \"%s\"\n", m->service_url); + gtk_widget_hide (tb); + } } } @@ -514,8 +519,12 @@ mail_get_password (CamelService *service, const char *prompt, gboolean secret) m->prompt = prompt; m->secret = secret; - m->service_url = camel_url_to_string (service->url, - CAMEL_URL_HIDE_PASSWORD | CAMEL_URL_HIDE_PARAMS); + if (service) { + m->service_url = camel_url_to_string (service->url, + CAMEL_URL_HIDE_PASSWORD | + CAMEL_URL_HIDE_PARAMS); + } else + m->service_url = NULL; if (pthread_self () == mail_gui_thread) { do_get_pass ((struct _mail_msg *)m); |