diff --git a/exec/imapservice.js b/exec/imapservice.js index 2aa3ec7cdd933d88589ec2e5bf5fbf6188baf606..ecc384a7865e88cbd1ec6ed79d172171e798f8cc 100644 --- a/exec/imapservice.js +++ b/exec/imapservice.js @@ -1441,21 +1441,23 @@ function save_cfg(lck) lock_cfg(); cfgfile.rewind(); for(sub in saved_config) { - scpy = JSON.parse(JSON.stringify(saved_config[sub].Seen)); - s=saved_config[sub].Seen; - delete saved_config[sub].Seen; - cfgfile.iniSetObject(sub,saved_config[sub]); - if(s != undefined) { - // First, try any "binary" Seen compression - b = binify(s); - cfgfile.iniRemoveSection(sub+'.bseen'); - if (b != undefined) - cfgfile.iniSetObject(sub+'.bseen',b); - cfgfile.iniRemoveSection(sub+'.seen'); - if (Object.keys(s).length > 0) - cfgfile.iniSetObject(sub+'.seen',s); + if (saved_config[sub].Seen !== undefined) { + scpy = JSON.parse(JSON.stringify(saved_config[sub].Seen)); + s=saved_config[sub].Seen; + delete saved_config[sub].Seen; + cfgfile.iniSetObject(sub,saved_config[sub]); + if(s != undefined) { + // First, try any "binary" Seen compression + b = binify(s); + cfgfile.iniRemoveSection(sub+'.bseen'); + if (b != undefined) + cfgfile.iniSetObject(sub+'.bseen',b); + cfgfile.iniRemoveSection(sub+'.seen'); + if (Object.keys(s).length > 0) + cfgfile.iniSetObject(sub+'.seen',s); + } + saved_config[sub].Seen=scpy; } - saved_config[sub].Seen=scpy; } cfgfile.flush(); if (lck)