2008-09-16 [colin] 3.5.0cvs109
[claws.git] / src / inc.c
index a15803c2d2393a78d56e31c81ea930afdb598d9d..d4b80694f00989a67bd3220ad80814421bb483af 100644 (file)
--- a/src/inc.c
+++ b/src/inc.c
@@ -555,9 +555,6 @@ static gint inc_start(IncProgressDialog *inc_dialog)
                if (pop3_session->ac_prefs->passwd)
                        pop3_session->pass =
                                g_strdup(pop3_session->ac_prefs->passwd);
-               else if (pop3_session->ac_prefs->tmp_pass)
-                       pop3_session->pass =
-                               g_strdup(pop3_session->ac_prefs->tmp_pass);
                else {
                        gchar *pass;
 
@@ -566,9 +563,10 @@ static gint inc_start(IncProgressDialog *inc_dialog)
                                        (inc_dialog->dialog->window,
                                         NULL, NULL);
 
-                       pass = input_dialog_query_password
+                       pass = input_dialog_query_password_keep
                                (pop3_session->ac_prefs->recv_server,
-                                pop3_session->user);
+                                pop3_session->user,
+                                &(pop3_session->ac_prefs->session_passwd));
 
                        if (inc_dialog->show_dialog)
                                manage_window_focus_out
@@ -576,8 +574,6 @@ static gint inc_start(IncProgressDialog *inc_dialog)
                                         NULL, NULL);
 
                        if (pass) {
-                               pop3_session->ac_prefs->tmp_pass =
-                                       g_strdup(pass);
                                pop3_session->pass = pass;
                        }
                }
@@ -635,6 +631,10 @@ static gint inc_start(IncProgressDialog *inc_dialog)
                        break;
                case INC_AUTH_FAILED:
                        SET_PIXMAP_AND_TEXT(errorpix, _("Auth failed"));
+                       if (pop3_session->ac_prefs->session_passwd) {
+                               g_free(pop3_session->ac_prefs->session_passwd);
+                               pop3_session->ac_prefs->session_passwd = NULL;
+                       }
                        break;
                case INC_LOCKED:
                        SET_PIXMAP_AND_TEXT(errorpix, _("Locked"));
@@ -707,12 +707,6 @@ static gint inc_start(IncProgressDialog *inc_dialog)
 
                new_msgs += pop3_session->cur_total_num;
 
-               if (pop3_session->error_val == PS_AUTHFAIL &&
-                   pop3_session->ac_prefs->tmp_pass) {
-                       g_free(pop3_session->ac_prefs->tmp_pass);
-                       pop3_session->ac_prefs->tmp_pass = NULL;
-               }
-
                pop3_write_uidl_list(pop3_session);
 
                if (inc_state != INC_SUCCESS && inc_state != INC_CANCEL) {