From: Frank Li Date: Tue, 12 Jan 2010 13:09:36 +0000 (+0800) Subject: Fix crash when input character at filter box X-Git-Url: http://git.sourceforge.jp/view?p=tortoisegit%2FTortoiseGitJp.git;a=commitdiff_plain;h=891d23ea1bd1450ef04620f34c53872c672f57b8 Fix crash when input character at filter box Signed-off-by: Frank Li --- diff --git a/src/TortoiseProc/GitLogListBase.cpp b/src/TortoiseProc/GitLogListBase.cpp index 3bd3f97..cb46112 100644 --- a/src/TortoiseProc/GitLogListBase.cpp +++ b/src/TortoiseProc/GitLogListBase.cpp @@ -1763,7 +1763,7 @@ int CGitLogListBase::BeginFetchLog() int mask; mask = CGit::LOG_INFO_ONLY_HASH | CGit::LOG_INFO_BOUNDARY; // if(this->m_bAllBranch) - mask |= m_ShowMask; + mask |= m_ShowMask |CGit::LOG_INFO_ALL_BRANCH; this->m_arShownList.RemoveAll(); @@ -2341,7 +2341,7 @@ void CGitLogListBase::RecalculateShownList(CPtrArray * pShownlist) ATLTRACE(_T("messge = \"%s\"\n"),m_logEntries.GetGitRevAt(i).m_Subject); if (regex_search(wstring((LPCTSTR)m_logEntries.GetGitRevAt(i).m_Subject), pat, flags)&&IsEntryInDateRange(i)) { - pShownlist->Add(&m_logEntries[i]); + pShownlist->Add(&m_logEntries.GetGitRevAt(i)); continue; } @@ -2394,7 +2394,7 @@ void CGitLogListBase::RecalculateShownList(CPtrArray * pShownlist) } if ((m_nSelectedFilter == LOGFILTER_ALL)||(m_nSelectedFilter == LOGFILTER_REVS)) { - sRev.Format(_T("%s"), m_logEntries.GetGitRevAt(i).m_CommitHash); + sRev.Format(_T("%s"), m_logEntries.GetGitRevAt(i).m_CommitHash.ToString()); if (regex_search(wstring((LPCTSTR)sRev), pat, flags)&&IsEntryInDateRange(i)) { pShownlist->Add(&m_logEntries.GetGitRevAt(i)); @@ -2434,7 +2434,7 @@ void CGitLogListBase::RecalculateShownList(CPtrArray * pShownlist) msg = msg.MakeLower(); if ((msg.Find(find) >= 0)&&(IsEntryInDateRange(i))) { - pShownlist->Add(&m_logEntries[i]); + pShownlist->Add(&m_logEntries.GetGitRevAt(i)); continue; } } diff --git a/src/TortoiseProc/LogDlg.cpp b/src/TortoiseProc/LogDlg.cpp index b67f3ea..c693349 100644 --- a/src/TortoiseProc/LogDlg.cpp +++ b/src/TortoiseProc/LogDlg.cpp @@ -2515,14 +2515,15 @@ void CLogDlg::OnBnClickedCheckStoponcopy() void CLogDlg::UpdateLogInfoLabel() { - git_revnum_t rev1 ; - git_revnum_t rev2 ; + CGitHash rev1 ; + CGitHash rev2 ; long selectedrevs = 0; int count =m_LogList.m_arShownList.GetCount(); int start = 0; if (count) { - if(this->m_LogList.m_bShowWC) + rev1 = (reinterpret_cast(m_LogList.m_arShownList.GetAt(0)))->m_CommitHash; + if(this->m_LogList.m_bShowWC && rev1.IsEmpty()) start = 1; rev1 = (reinterpret_cast(m_LogList.m_arShownList.GetAt(start)))->m_CommitHash; //pLogEntry = reinterpret_cast(m_arShownList.GetAt(m_arShownList.GetCount()-1)); @@ -2530,7 +2531,10 @@ void CLogDlg::UpdateLogInfoLabel() selectedrevs = m_LogList.GetSelectedCount(); } CString sTemp; - sTemp.Format(_T("Showing %ld revision(s), from revision %s to revision %s - %ld revision(s) selected"), count - start, rev2.Left(6), rev1.Left(6), selectedrevs); + sTemp.Format(_T("Showing %ld revision(s), from revision %s to revision %s - %ld revision(s) selected"), + count - start, + rev2.ToString().Left(6), rev1.ToString().Left(6), selectedrevs); + m_sLogInfo = sTemp; UpdateData(FALSE);