diff --git a/exec/imapservice.js b/exec/imapservice.js index 00a59a83b25715eb3ff78a59d87ba4d1e08a3174..8539aaf4c2523d03bb94a957f5353d0151502270 100644 --- a/exec/imapservice.js +++ b/exec/imapservice.js @@ -1594,25 +1594,17 @@ function save_cfg() function close_sub() { + var code; + if(base != undefined && base.is_open) { msg_ptrs[base.subnum]=scan_ptr; + code = get_base_code(base); lock_cfg(); try { - if(base.subnum==-1) { - read_cfg('mail', false); - if (saved_config.mail.scan_ptr!=scan_ptr) { - saved_config.mail.scan_ptr=scan_ptr; - save_cfg(); - } - } - else { - if (base.cfg != undefined) { - read_cfg(base.cfg.code, false); - if (saved_config[base.cfg.code].scan_ptr !== scan_ptr) { - saved_config[base.cfg.code].scan_ptr=scan_ptr; - save_cfg(); - } - } + read_cfg(get_base_code(base), false); + if (saved_config[code].scan_ptr!=scan_ptr) { + saved_config[code].scan_ptr=scan_ptr; + save_cfg(); } } catch (error) {