diff --git a/mozilla/mailnews/base/src/nsMsgDBView.cpp b/mozilla/mailnews/base/src/nsMsgDBView.cpp index 1a5dbd89ebd..44d4a6d4515 100644 --- a/mozilla/mailnews/base/src/nsMsgDBView.cpp +++ b/mozilla/mailnews/base/src/nsMsgDBView.cpp @@ -5970,6 +5970,7 @@ nsresult nsMsgDBView::CopyDBView(nsMsgDBView *aNewMsgDBView, nsIMessenger *aMess aNewMsgDBView->m_viewFlags = m_viewFlags; aNewMsgDBView->m_sortOrder = m_sortOrder; aNewMsgDBView->m_sortType = m_sortType; + aNewMsgDBView->m_sortValid = m_sortValid; aNewMsgDBView->m_db = m_db; aNewMsgDBView->mDateFormater = mDateFormater; if (m_db) diff --git a/mozilla/mailnews/base/src/nsMsgXFVirtualFolderDBView.cpp b/mozilla/mailnews/base/src/nsMsgXFVirtualFolderDBView.cpp index 55c4395b61c..c110437638a 100755 --- a/mozilla/mailnews/base/src/nsMsgXFVirtualFolderDBView.cpp +++ b/mozilla/mailnews/base/src/nsMsgXFVirtualFolderDBView.cpp @@ -110,6 +110,30 @@ nsMsgXFVirtualFolderDBView::CopyDBView(nsMsgDBView *aNewMsgDBView, nsIMessenger newMsgDBView->m_viewFolder = m_viewFolder; newMsgDBView->m_searchSession = m_searchSession; + + PRInt32 scopeCount; + nsCOMPtr searchSession = do_QueryReferent(m_searchSession); + nsCOMPtr msgDBService = do_GetService(NS_MSGDB_SERVICE_CONTRACTID); + searchSession->CountSearchScopes(&scopeCount); + for (PRInt32 i = 0; i < scopeCount; i++) + { + nsMsgSearchScopeValue scopeId; + nsCOMPtr searchFolder; + searchSession->GetNthSearchScope(i, &scopeId, getter_AddRefs(searchFolder)); + if (searchFolder) + { + nsCOMPtr searchDB; + nsXPIDLCString searchUri; + m_viewFolder->GetURI(getter_Copies(searchUri)); + nsresult rv = searchFolder->GetMsgDatabase(nsnull, getter_AddRefs(searchDB)); + if (NS_SUCCEEDED(rv) && searchDB) + { + if (msgDBService) + msgDBService->RegisterPendingListener(searchFolder, newMsgDBView); + } + } + } + return NS_OK; }