OSDN Git Service

Fix crash when input character at filter box
[tortoisegit/TortoiseGitJp.git] / src / TortoiseGitBlame / TortoiseGitBlameView.cpp
index fccce3f..4d36c8c 100644 (file)
@@ -2438,6 +2438,10 @@ void CTortoiseGitBlameView::UpdateInfo()
        while( pos>=0 )\r
        {\r
                one=data.Tokenize(_T("\n"),pos);\r
+               \r
+               if(one.GetLength()>1 && one[0] == _T('^'))\r
+                       one=one.Mid(1);\r
+\r
                if(one.IsEmpty())\r
                        continue;\r
                m_CommitHash.push_back(one.Left(40));\r
@@ -2467,7 +2471,7 @@ void CTortoiseGitBlameView::UpdateInfo()
                if(id>=0 && id <(int)GetLogData()->size())\r
                {\r
                        m_ID.push_back(pRevs->size()-id);\r
-                       m_Authors.push_back(pRevs->at(id).m_AuthorName);\r
+                       m_Authors.push_back(pRevs->GetGitRevAt(id).m_AuthorName);\r
                }else\r
                {\r
                        m_ID.push_back(id);\r
@@ -2535,7 +2539,7 @@ void CTortoiseGitBlameView::OnLButtonDown(UINT nFlags,CPoint point)
                                                                                                                        LVIS_SELECTED);\r
 \r
                                GitRev *pRev;\r
-                               pRev=&this->GetLogData()->at(this->GetLogList()->GetItemCount()-m_ID[line]);\r
+                               pRev=&this->GetLogData()->GetGitRevAt(this->GetLogList()->GetItemCount()-m_ID[line]);\r
                                this->GetDocument()->GetMainFrame()->m_wndProperties.UpdateProperties(pRev);\r
                        }else\r
                        {\r
@@ -2587,7 +2591,7 @@ void CTortoiseGitBlameView::FocusOn(GitRev *pRev)
        int i;\r
        for(i=0;i<m_CommitHash.size();i++)\r
        {\r
-               if( pRev->m_CommitHash == m_CommitHash[i] )\r
+               if( pRev->m_CommitHash.ToString() == m_CommitHash[i] )\r
                        break;\r
        }\r
        this->GotoLine(i);\r
@@ -2614,7 +2618,7 @@ void CTortoiseGitBlameView::OnMouseHover(UINT nFlags, CPoint point)
 \r
                        }else\r
                        {\r
-                               pRev=&this->GetLogData()->at(this->GetLogList()->GetItemCount()-m_ID[line]);\r
+                               pRev=&this->GetLogData()->GetGitRevAt(this->GetLogList()->GetItemCount()-m_ID[line]);\r
                        }\r
 \r
                        this->ClientToScreen(&point);\r