From 83654850ac9a437a7ae9c2daf53d48d6028a6557 Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Sun, 11 Nov 2012 01:02:31 +0100 Subject: [PATCH] Fixed issue #1486: Rebase/Cherry-pick Dialog conflict list fail to refresh the status of resolved deleted file Signed-off-by: Sven Strickroth --- src/Changelog.txt | 1 + src/Git/GitStatusListCtrl.cpp | 7 ++++++- src/TortoiseProc/RebaseDlg.cpp | 7 +++++++ src/TortoiseProc/RebaseDlg.h | 1 + 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Changelog.txt b/src/Changelog.txt index ef96d2830..16ca65ee3 100644 --- a/src/Changelog.txt +++ b/src/Changelog.txt @@ -32,6 +32,7 @@ Released: unreleased * Fixed issue #1507: Submodule Diff Dialog should show dirty state only on working copy revision * Fixed issue #1511: Changed Files Dialog cannot show icons as folder for submodule * Fixed issue #1516: SVN clone strips trailing slashes + * Fixed issue #1486: Rebase/Cherry-pick Dialog conflict list fail to refresh the status of resolved deleted file = Release 1.7.14.0 = Released: 2012-10-14 diff --git a/src/Git/GitStatusListCtrl.cpp b/src/Git/GitStatusListCtrl.cpp index 1be2f15ea..5a397591b 100644 --- a/src/Git/GitStatusListCtrl.cpp +++ b/src/Git/GitStatusListCtrl.cpp @@ -2077,7 +2077,12 @@ void CGitStatusListCtrl::OnContextMenuList(CWnd * pWnd, CPoint point) case IDGITLC_EDITCONFLICT: { - CAppUtils::ConflictEdit(*filepath,false,this->m_bIsRevertTheirMy); + if (CAppUtils::ConflictEdit(*filepath, false, this->m_bIsRevertTheirMy)) + { + CString conflictedFile = g_Git.m_CurrentDir + _T("\\") + filepath->GetWinPathString(); + if (!PathFileExists(conflictedFile) && NULL != GetParent() && NULL != GetParent()->GetSafeHwnd()) + GetParent()->SendMessage(GITSLNM_NEEDSREFRESH); + } break; } case IDGITLC_RESOLVETHEIRS: //follow up diff --git a/src/TortoiseProc/RebaseDlg.cpp b/src/TortoiseProc/RebaseDlg.cpp index efbb35bc2..a44ef8c68 100644 --- a/src/TortoiseProc/RebaseDlg.cpp +++ b/src/TortoiseProc/RebaseDlg.cpp @@ -86,6 +86,7 @@ BEGIN_MESSAGE_MAP(CRebaseDlg, CResizableStandAloneDialog) ON_CBN_SELCHANGE(IDC_REBASE_COMBOXEX_BRANCH, &CRebaseDlg::OnCbnSelchangeBranch) ON_CBN_SELCHANGE(IDC_REBASE_COMBOXEX_UPSTREAM, &CRebaseDlg::OnCbnSelchangeUpstream) ON_MESSAGE(MSG_REBASE_UPDATE_UI, OnRebaseUpdateUI) + ON_REGISTERED_MESSAGE(CGitStatusListCtrl::GITSLNM_NEEDSREFRESH, OnGitStatusListCtrlNeedsRefresh) ON_BN_CLICKED(IDC_BUTTON_BROWSE, &CRebaseDlg::OnBnClickedButtonBrowse) ON_BN_CLICKED(IDC_REBASE_CHECK_FORCE, &CRebaseDlg::OnBnClickedRebaseCheckForce) ON_BN_CLICKED(IDC_CHECK_CHERRYPICKED_FROM, &CRebaseDlg::OnBnClickedCheckCherryPickedFrom) @@ -1744,6 +1745,12 @@ void CRebaseDlg::OnBnClickedRebasePostButton() this->EndDialog((int)(IDC_REBASE_POST_BUTTON+this->m_PostButton.GetCurrentEntry())); } +LRESULT CRebaseDlg::OnGitStatusListCtrlNeedsRefresh(WPARAM, LPARAM) +{ + Refresh(); + return 0; +} + void CRebaseDlg::Refresh() { if (m_RebaseStage == REBASE_CONFLICT || m_RebaseStage == REBASE_SQUASH_CONFLICT) diff --git a/src/TortoiseProc/RebaseDlg.h b/src/TortoiseProc/RebaseDlg.h index ed8d3ba42..701bcbad5 100644 --- a/src/TortoiseProc/RebaseDlg.h +++ b/src/TortoiseProc/RebaseDlg.h @@ -95,6 +95,7 @@ protected: void UpdateCurrentStatus(); void ListConflictFile(); int DoRebase(); + afx_msg LRESULT OnGitStatusListCtrlNeedsRefresh(WPARAM, LPARAM); void Refresh(); volatile LONG m_bThreadRunning; int RebaseThread(); -- 2.11.4.GIT