From f5fd82eacb0fbb2d2e4df6d5bff829938309124f Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Tue, 29 May 2012 11:49:38 +0200 Subject: [PATCH] fixed possible crash in TortoiseGitBlame TortoiseGitBlame crashed when CWD was not a git working tree Signed-off-by: Sven Strickroth --- src/TortoiseProc/GitLogListBase.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/TortoiseProc/GitLogListBase.cpp b/src/TortoiseProc/GitLogListBase.cpp index 3f1addbfc..247f92e2a 100644 --- a/src/TortoiseProc/GitLogListBase.cpp +++ b/src/TortoiseProc/GitLogListBase.cpp @@ -110,8 +110,11 @@ CGitLogListBase::CGitLogListBase():CHintListCtrl() m_bFilterWithRegex = !!CRegDWORD(_T("Software\\TortoiseGit\\UseRegexFilter"), TRUE); g_Git.GetMapHashToFriendName(m_HashMap); - m_CurrentBranch=g_Git.GetCurrentBranch(); - this->m_HeadHash=g_Git.GetHash(_T("HEAD")); + if (CTGitPath(g_Git.m_CurrentDir).HasAdminDir()) + { + m_CurrentBranch=g_Git.GetCurrentBranch(); + m_HeadHash=g_Git.GetHash(_T("HEAD")); + } m_From=-1;; m_To=-1; @@ -2061,7 +2064,6 @@ int CGitLogListBase::FillGitLog(CTGitPath *path,int info,CString *from,CString * { ClearText(); - this->m_arShownList.SafeRemoveAll(); this->m_logEntries.ClearAll(); @@ -2085,6 +2087,9 @@ int CGitLogListBase::FillGitLog(CTGitPath *path,int info,CString *from,CString * } } + m_CurrentBranch = g_Git.GetCurrentBranch(); + m_HeadHash = g_Git.GetHash(_T("HEAD")); + if(path) m_Path=*path; return 0; -- 2.11.4.GIT