From ee4b03e7e36c8ab92829ed20704922b3014b0350 Mon Sep 17 00:00:00 2001 From: "bienvenu%nventure.com" Date: Wed, 31 Dec 2003 21:19:18 +0000 Subject: [PATCH] fix 218477 performance speedup building up flat sorted db views, r/sr=mscott --- mailnews/base/src/nsMsgThreadedDBView.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mailnews/base/src/nsMsgThreadedDBView.cpp b/mailnews/base/src/nsMsgThreadedDBView.cpp index c86407ee763d..b1ce35a07223 100644 --- a/mailnews/base/src/nsMsgThreadedDBView.cpp +++ b/mailnews/base/src/nsMsgThreadedDBView.cpp @@ -229,6 +229,10 @@ nsresult nsMsgThreadedDBView::AddKeys(nsMsgKey *pKeys, PRInt32 *pFlags, const ch m_flags.Add(flag); m_levels.Add(pLevels[i]); numAdded++; + // we expand as we build the view, which allows us to insert at the end of the key array, + // instead of the middle, and is much faster. + if (!(m_viewFlags & nsMsgViewFlagsType::kThreadedDisplay) && flag & MSG_FLAG_ELIDED) + ExpandByIndex(m_keys.GetSize() - 1, NULL); } return numAdded; } @@ -495,7 +499,7 @@ void nsMsgThreadedDBView::OnExtraFlagChanged(nsMsgViewIndex index, PRUint32 extr void nsMsgThreadedDBView::OnHeaderAddedOrDeleted() { - ClearPrevIdArray(); + ClearPrevIdArray(); } void nsMsgThreadedDBView::ClearPrevIdArray()