nsresult nsPop3GetMailChainer::GetNewMailForServers(nsIPop3IncomingServer** servers, uint32_t count, nsIMsgWindow *msgWindow, nsIMsgFolder *folderToDownloadTo, nsIUrlListener *listener) { NS_ENSURE_ARG_POINTER(folderToDownloadTo); m_serversToGetNewMailFor.AppendElements(servers, count); m_folderToDownloadTo = folderToDownloadTo; m_downloadingMsgWindow = msgWindow; m_listener = listener; nsCOMPtr <nsIMsgDatabase> destFolderDB; nsresult rv = folderToDownloadTo->GetMsgDatabase(getter_AddRefs(destFolderDB)); if (NS_FAILED(rv) || !destFolderDB) { nsCOMPtr <nsIMsgLocalMailFolder> localFolder = do_QueryInterface(folderToDownloadTo); if (localFolder) { localFolder->GetDatabaseWithReparse(this, msgWindow, getter_AddRefs(destFolderDB)); return NS_OK; } } return RunNextGetNewMail(); }