#include "log.h"
#include "hooks.h"
#include "logwindow.h"
+#include "passwordstore.h"
extern SessionStats session_stats;
if (inc_lock_count) return 0;
+ if (account->receive_in_progress) return 0;
+
if (prefs_common.work_offline &&
!inc_offline_should_override(TRUE,
_("Claws Mail needs network access in order "
PrefsAccount *account = list->data;
if (account->recv_at_getall) {
- session = inc_session_new(account);
- if (session)
- queue_list = g_list_append(queue_list, session);
+ if (!(account->receive_in_progress)) {
+ session = inc_session_new(account);
+ if (session)
+ queue_list = g_list_append(queue_list, session);
+ }
}
}
pop3_session = POP3_SESSION(session->session);
pop3_session->user = g_strdup(pop3_session->ac_prefs->userid);
+ if (inc_dialog->show_dialog)
+ manage_window_focus_in
+ (inc_dialog->dialog->window,
+ NULL, NULL);
+
if (password_get(pop3_session->user,
pop3_session->ac_prefs->recv_server,
"pop3", pop3_get_port(pop3_session),
&(pop3_session->pass))) {
/* NOP */;
- } else if (pop3_session->ac_prefs->passwd)
- pop3_session->pass =
- g_strdup(pop3_session->ac_prefs->passwd);
- else {
+ } else if ((pop3_session->pass = passwd_store_get_account(
+ pop3_session->ac_prefs->account_id, PWS_ACCOUNT_RECV)) == NULL) {
gchar *pass;
- if (inc_dialog->show_dialog)
- manage_window_focus_in
- (inc_dialog->dialog->window,
- NULL, NULL);
-
pass = input_dialog_query_password_keep
(pop3_session->ac_prefs->recv_server,
pop3_session->user,
&(pop3_session->ac_prefs->session_passwd));
- if (inc_dialog->show_dialog)
- manage_window_focus_out
- (inc_dialog->dialog->window,
- NULL, NULL);
-
if (pass) {
pop3_session->pass = pass;
}
}
+ if (inc_dialog->show_dialog)
+ manage_window_focus_out
+ (inc_dialog->dialog->window,
+ NULL, NULL);
+
qlist = next;
}
inbox = folder_get_default_inbox();
/* get list of messages in processing */
- processing = folder_get_default_processing();
+ processing = folder_get_default_processing(pop3_session->ac_prefs->account_id);
folder_item_scan(processing);
msglist = folder_item_get_msg_list(processing);
for(msglist_element = msglist; msglist_element != NULL;
msglist_element = msglist_element->next) {
- MsgInfo *msginfo = (MsgInfo *)msglist_element->data;
- procmsg_msginfo_free(msginfo);
+ procmsg_msginfo_free((MsgInfo**)&(msglist_element->data));
}
folder_item_update_thaw();
}
/* CLAWS: claws uses a global .processing folder for the filtering. */
- dropfolder = folder_get_default_processing();
+ dropfolder = folder_get_default_processing(session->ac_prefs->account_id);
/* add msg file to drop folder */
if ((msgnum = folder_item_add_msg(
the common preferences */
if (prefs_common.autochk_newmail && autocheck_data
&& prefs_common.work_offline == FALSE) {
-#if GLIB_CHECK_VERSION(2,14,0)
if (interval % 1000 == 0)
autocheck_timer =
g_timeout_add_seconds(interval/1000, inc_autocheck_func, autocheck_data);
else
-#endif
- autocheck_timer = g_timeout_add
- (interval, inc_autocheck_func, autocheck_data);
+ autocheck_timer = g_timeout_add
+ (interval, inc_autocheck_func, autocheck_data);
debug_print("added timer = %d\n", autocheck_timer);
}
}