fix losing delete changes on server that says there are no permanent flags, r/sr=sspitzer 182641

git-svn-id: svn://10.0.0.236/trunk@134661 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bienvenu%netscape.com
2002-12-03 03:38:10 +00:00
parent 506ef8ddc6
commit 4f21694b30

View File

@@ -1783,9 +1783,17 @@ void nsImapServerResponseParser::resp_text_code()
}
else if (!PL_strcasecmp(fNextToken,"PERMANENTFLAGS"))
{
PRUint32 saveSettableFlags = fSettablePermanentFlags;
fSupportsUserDefinedFlags = 0; // assume no unless told
fSettablePermanentFlags = 0; // assume none, unless told otherwise.
parse_folder_flags();
// if the server tells us there are no permanent flags, we're
// just going to pretend that the FLAGS response flags, if any, are
// permanent in case the server is broken. This will allow us
// to store delete and seen flag changes - if they're not permanent,
// they're not permanent, but at least we'll try to set them.
if (!fSettablePermanentFlags)
fSettablePermanentFlags = saveSettableFlags;
fGotPermanentFlags = PR_TRUE;
}
else if (!PL_strcasecmp(fNextToken,"READ-ONLY]"))