OSDN Git Service

Fix git blame log dialog show nothing
authorFrank Li <lznuaa@gmail.com>
Mon, 18 Jan 2010 05:58:28 +0000 (13:58 +0800)
committerFrank Li <lznuaa@gmail.com>
Mon, 18 Jan 2010 05:58:28 +0000 (13:58 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/TortoiseGitBlame/PropertiesWnd.cpp
src/TortoiseProc/GitLogListBase.cpp
src/TortoiseProc/LogDataVector.cpp

index 19e6d3f..36d9afc 100644 (file)
@@ -385,7 +385,7 @@ void CPropertiesWnd::UpdateProperties(GitRev *rev)
                        if(index>=0)\r
                                parentsubject=pLogEntry->GetGitRevAt(index).m_Subject;\r
 \r
-                       str.Format(_T("%d - %s \n %s"),i,rev->m_ParentHash[i],parentsubject);\r
+                       str.Format(_T("%d - %s \n %s"),i,rev->m_ParentHash[i].ToString(),parentsubject);\r
                        \r
                        CMFCPropertyGridProperty*p=new CMFCPropertyGridProperty(\r
                                                                                        rev->m_ParentHash[i].ToString().Left(8), \r
index 59c6386..294f30e 100644 (file)
@@ -1729,12 +1729,12 @@ int CGitLogListBase::FillGitLog(CTGitPath *path,int info,CString *from,CString *
                if(m_IsOldFirst)\r
                {\r
                        m_logEntries.GetGitRevAt(m_logEntries.size()-i-1).m_IsFull=TRUE;\r
-                       this->m_arShownList.Add(&m_logEntries[m_logEntries.size()-i-1]);\r
+                       this->m_arShownList.Add(&m_logEntries.GetGitRevAt(m_logEntries.size()-i-1));\r
                \r
                }else\r
                {\r
                        m_logEntries.GetGitRevAt(i).m_IsFull=TRUE;\r
-                       this->m_arShownList.Add(&m_logEntries[i]);\r
+                       this->m_arShownList.Add(&m_logEntries.GetGitRevAt(i));\r
                }\r
        }\r
 \r
index 0c6d3d4..3de4393 100644 (file)
@@ -196,10 +196,16 @@ int CLogDataVector::ParserFromLog(CTGitPath *path ,int count ,int infomask,CStri
                if(this->m_pLogCache->m_HashMap.IsExist(rev.m_CommitHash))\r
                {\r
                        if(!this->m_pLogCache->m_HashMap[rev.m_CommitHash].m_IsFull)\r
+                       {\r
                                this->m_pLogCache->m_HashMap[rev.m_CommitHash].CopyFrom(rev);\r
+                       }\r
                }else\r
                        this->m_pLogCache->m_HashMap[rev.m_CommitHash].CopyFrom(rev);\r
 \r
+               this->m_pLogCache->m_HashMap[rev.m_CommitHash].m_IsFull=true;\r
+\r
+               this->push_back(rev.m_CommitHash);\r
+\r
                m_HashMap[rev.m_CommitHash]=size()-1;           \r
        }\r
 \r