102735 r/sr=bienvenu. Save the sort info etc, when doing empty trash(imap).

git-svn-id: svn://10.0.0.236/trunk@106324 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
naving%netscape.com
2001-10-26 04:22:17 +00:00
parent 91e99a93f5
commit 02e1a52c53

View File

@@ -572,7 +572,7 @@ nsresult nsImapMailFolder::GetDatabase(nsIMsgWindow *aMsgWindow)
rv = nsComponentManager::CreateInstance(kCImapDB, nsnull, NS_GET_IID(nsIMsgDatabase), (void **) getter_AddRefs(mailDBFactory));
if (NS_SUCCEEDED(rv) && mailDBFactory)
folderOpen = mailDBFactory->OpenFolderDB(this, PR_TRUE, PR_TRUE, getter_AddRefs(mDatabase));
folderOpen = mailDBFactory->OpenFolderDB(this, PR_TRUE, PR_FALSE, getter_AddRefs(mDatabase));
if(folderOpen == NS_MSG_ERROR_FOLDER_SUMMARY_MISSING || folderOpen == NS_MSG_ERROR_FOLDER_SUMMARY_OUT_OF_DATE)
folderOpen = mailDBFactory->OpenFolderDB(this, PR_TRUE, PR_TRUE, getter_AddRefs(mDatabase));
@@ -1110,8 +1110,20 @@ NS_IMETHODIMP nsImapMailFolder::EmptyTrash(nsIMsgWindow *msgWindow,
}
return rv;
}
nsCOMPtr<nsIDBFolderInfo> trashDBFolderInfo;
nsCOMPtr <nsIDBFolderInfo> transferInfo;
rv = trashFolder->GetDBFolderInfoAndDB(getter_AddRefs(trashDBFolderInfo), getter_AddRefs(trashDB));
if (trashDBFolderInfo)
trashDBFolderInfo->GetTransferInfo(getter_AddRefs(transferInfo));
trashDBFolderInfo = nsnull;
rv = trashFolder->Delete(); // delete summary spec
rv = trashFolder->GetMsgDatabase(msgWindow, getter_AddRefs(trashDB));
if (transferInfo && trashDB)
{
trashDB->GetDBFolderInfo(getter_AddRefs(trashDBFolderInfo));
if (trashDBFolderInfo)
trashDBFolderInfo->InitFromTransferInfo(transferInfo);
}
nsCOMPtr<nsIImapService> imapService =
do_GetService(kCImapService, &rv);