OSDN Git Service

BugID 16 Fix F5 Refresh Don't work problem
authorFrank Li <lznuaa@gmail.com>
Mon, 2 Feb 2009 14:46:02 +0000 (22:46 +0800)
committerFrank Li <lznuaa@gmail.com>
Mon, 2 Feb 2009 14:46:02 +0000 (22:46 +0800)
http://code.google.com/p/tortoisegit/issues/detail?id=16

Git/GitStatusListCtrl have not clear before refresh

Signed-off-by: Frank Li <lznuaa@gmail.com>
src/Git/GitStatusListCtrl.cpp
src/Git/GitStatusListCtrl.h
src/TortoiseProc/CommitDlg.cpp

index 4edf274..4357bb3 100644 (file)
@@ -5376,6 +5376,15 @@ int CGitStatusListCtrl::UpdateFileList(int mask,bool once,CTGitPathList *List)
        }\r
        return 0;\r
 }\r
        }\r
        return 0;\r
 }\r
+\r
+void CGitStatusListCtrl::Clear()\r
+{\r
+       m_FileLoaded=0;\r
+       this->DeleteAllItems();\r
+       this->m_arListArray.clear();\r
+       this->m_arStatusArray.clear();\r
+       this->m_changelists.clear();\r
+}\r
 //////////////////////////////////////////////////////////////////////////\r
 #if 0\r
 bool CGitStatusListCtrlDropTarget::OnDrop(FORMATETC* pFmtEtc, STGMEDIUM& medium, DWORD * /*pdwEffect*/, POINTL pt)\r
 //////////////////////////////////////////////////////////////////////////\r
 #if 0\r
 bool CGitStatusListCtrlDropTarget::OnDrop(FORMATETC* pFmtEtc, STGMEDIUM& medium, DWORD * /*pdwEffect*/, POINTL pt)\r
index 7fda321..70938f3 100644 (file)
@@ -914,6 +914,7 @@ public:
        int UpdateWithGitPathList(CTGitPathList &list);\r
 \r
        void AddEntry(CTGitPath* path, WORD langID, int ListIndex);\r
        int UpdateWithGitPathList(CTGitPathList &list);\r
 \r
        void AddEntry(CTGitPath* path, WORD langID, int ListIndex);\r
+       void Clear();\r
        int m_FileLoaded;\r
        git_revnum_t m_CurrentVersion;\r
 public:\r
        int m_FileLoaded;\r
        git_revnum_t m_CurrentVersion;\r
 public:\r
index a0ebdfd..4bfa992 100644 (file)
@@ -660,6 +660,7 @@ UINT CCommitDlg::StatusThread()
        }\r
 #endif\r
     // Initialise the list control with the status of the files/folders below us\r
        }\r
 #endif\r
     // Initialise the list control with the status of the files/folders below us\r
+       m_ListCtrl.Clear();\r
        BOOL success = m_ListCtrl.GetStatus(m_pathList);\r
 \r
        //m_ListCtrl.UpdateFileList(git_revnum_t(GIT_REV_ZERO));\r
        BOOL success = m_ListCtrl.GetStatus(m_pathList);\r
 \r
        //m_ListCtrl.UpdateFileList(git_revnum_t(GIT_REV_ZERO));\r