diff --git a/mailnews/db/msgdb/src/nsMsgDatabase.cpp b/mailnews/db/msgdb/src/nsMsgDatabase.cpp index dd67b0c6261a..f9211d19d456 100644 --- a/mailnews/db/msgdb/src/nsMsgDatabase.cpp +++ b/mailnews/db/msgdb/src/nsMsgDatabase.cpp @@ -974,8 +974,8 @@ NS_IMETHODIMP nsMsgDatabase::ForceClosed() // OK, remove from cache first and close the store. // RemoveFromCache(this); // clear out db ptr in folder info; it's about to be invalid - if (m_dbFolderInfo) - m_dbFolderInfo->m_mdb = nsnull; + if (m_dbFolderInfo) + m_dbFolderInfo->m_mdb = nsnull; NS_IF_RELEASE(m_dbFolderInfo); m_dbFolderInfo = nsnull; @@ -992,7 +992,7 @@ NS_IMETHODIMP nsMsgDatabase::ForceClosed() if (m_mdbStore) { m_mdbStore->CloseMdbObject(m_mdbEnv); - m_mdbEnv = nsnull; + m_mdbEnv = nsnull; m_mdbStore = nsnull; } Release(); @@ -3170,11 +3170,8 @@ nsIMsgThread *nsMsgDatabase::GetThreadForReference(nsCString &msgID, nsIMsgDBHdr nsIMsgThread * nsMsgDatabase::GetThreadForSubject(nsCString &subject) { -// NS_ASSERTION(PR_FALSE, "not implemented yet."); - nsIMsgThread *thread = NULL; + nsIMsgThread *thread = nsnull; - //nsIMsgDBHdr *msgHdr = nsnull; - //nsresult rv = NS_OK; mdbYarn subjectYarn; subjectYarn.mYarn_Buf = (void*)subject.get(); @@ -3183,20 +3180,22 @@ nsIMsgThread * nsMsgDatabase::GetThreadForSubject(nsCString &subject) subjectYarn.mYarn_Size = subjectYarn.mYarn_Fill; nsIMdbRow *threadRow; - mdbOid outRowId; - mdb_err result = GetStore()->FindRow(GetEnv(), m_threadRowScopeToken, - m_threadSubjectColumnToken, &subjectYarn, &outRowId, &threadRow); - if (NS_SUCCEEDED(result) && threadRow) - { - //Get key from row - mdbOid outOid; - nsMsgKey key = 0; - if (threadRow->GetOid(GetEnv(), &outOid) == NS_OK) - key = outOid.mOid_Id; - // find thread header for header whose message id we matched. - thread = GetThreadForThreadId(key); - } - + mdbOid outRowId; + if (m_mdbStore) + { + mdb_err result = m_mdbStore->FindRow(GetEnv(), m_threadRowScopeToken, + m_threadSubjectColumnToken, &subjectYarn, &outRowId, &threadRow); + if (NS_SUCCEEDED(result) && threadRow) + { + //Get key from row + mdbOid outOid; + nsMsgKey key = 0; + if (threadRow->GetOid(GetEnv(), &outOid) == NS_OK) + key = outOid.mOid_Id; + // find thread header for header whose message id we matched. + thread = GetThreadForThreadId(key); + } + } return thread; }