From: Johan 't Hart Date: Tue, 16 Jun 2009 23:06:17 +0000 (+0200) Subject: PushDlg: Fix: Wrong remote selected after selection via ref-browser. X-Git-Url: http://git.sourceforge.jp/view?p=tortoisegit%2FTortoiseGitJp.git;a=commitdiff_plain;h=855a1752351c4bf46322180806c3baa5361ae6dc;ds=sidebyside PushDlg: Fix: Wrong remote selected after selection via ref-browser. --- diff --git a/src/TortoiseProc/PushDlg.cpp b/src/TortoiseProc/PushDlg.cpp index e26b462..fc606fe 100644 --- a/src/TortoiseProc/PushDlg.cpp +++ b/src/TortoiseProc/PushDlg.cpp @@ -157,7 +157,7 @@ void CPushDlg::OnBnClickedRd() void CPushDlg::OnCbnSelchangeBranchSource() { // TODO: Add your control notification handler code here - m_BranchRemote.SetWindowTextW(m_BranchSource.GetString()); + m_BranchRemote.AddString(m_BranchSource.GetString()); } void CPushDlg::OnBnClickedOk() @@ -200,12 +200,23 @@ void CPushDlg::OnBnClickedButtonBrowseSourceBranch() void CPushDlg::OnBnClickedButtonBrowseDestBranch() { CString remoteBranchName; + CString remoteName; m_BranchRemote.GetWindowText(remoteBranchName); + remoteName = m_Remote.GetString(); + remoteBranchName = remoteName + '/' + remoteBranchName; remoteBranchName = CBrowseRefsDlg::PickRef(false, remoteBranchName, gPickRef_Remote); if(remoteBranchName.IsEmpty()) return; //Canceled remoteBranchName = remoteBranchName.Mid(13);//Strip 'refs/remotes/' - remoteBranchName = remoteBranchName.Mid(remoteBranchName.Find('/') + 1); //Strip remote name (for example 'origin/') + int slashPlace = remoteBranchName.Find('/'); + remoteName = remoteBranchName.Left(slashPlace); + remoteBranchName = remoteBranchName.Mid(slashPlace + 1); //Strip remote name (for example 'origin/') - m_BranchRemote.SetWindowText(remoteBranchName); + //Select remote + int remoteSel = m_Remote.FindStringExact(0,remoteName); + if(remoteSel >= 0) + m_Remote.SetCurSel(remoteSel); + + //Select branch + m_BranchRemote.AddString(remoteBranchName); } diff --git a/src/Utils/MiscUI/HistoryCombo.cpp b/src/Utils/MiscUI/HistoryCombo.cpp index ce82cd1..9040a5f 100644 --- a/src/Utils/MiscUI/HistoryCombo.cpp +++ b/src/Utils/MiscUI/HistoryCombo.cpp @@ -152,6 +152,8 @@ int CHistoryCombo::AddString(CString str, INT_PTR pos) { DeleteItem(nIndex); m_arEntries.RemoveAt(nIndex); + //nRet is now (potentially) invalid. Reset it. + nRet = FindStringExact(0, str); } //truncate list to m_nMaxHistoryItems