OSDN Git Service

Fixed issue #122: Garbage text in "Git Command Progress" / suspected buffer overflow
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / CommitDlg.cpp
index 3dc9a52..68e48c4 100644 (file)
@@ -509,10 +509,11 @@ void CCommitDlg::OnOK()
                cmd.Format(_T("git.exe commit %s -F \"%s\""),amend, tempfile);\r
                \r
                CProgressDlg progress;\r
+               progress.m_bBufferAll=true; // improve show speed when there are many file added. \r
                progress.m_GitCmd=cmd;\r
                progress.m_bShowCommand = FALSE;        // don't show the commit command\r
                progress.m_PreText = out;                       // show any output already generated in log window\r
-               progress.m_changeAbortButtonOnSuccessTo = "Push";\r
+               progress.m_changeAbortButtonOnSuccessTo = "&Push";\r
                DWORD userResponse = progress.DoModal();\r
                \r
                if(progress.m_GitStatus)\r
@@ -520,7 +521,7 @@ void CCommitDlg::OnOK()
                        bCloseCommitDlg = false;\r
                        this->Refresh();\r
                }\r
-               else if(userResponse == IDCANCEL)\r
+               else if(userResponse == IDC_PROGRESS_BUTTON1)\r
                {\r
                        //User pressed 'Push' button after successful commit.\r
                        m_bPushAfterCommit=true;\r
@@ -1273,6 +1274,11 @@ void CCommitDlg::InsertMenuItems(CMenu& mPopup, int& nCmd)
                sMenuItemText.LoadString(IDS_COMMITDLG_POPUP_PASTELASTMESSAGE);\r
                m_nPopupPasteLastMessage = nCmd++;\r
                mPopup.AppendMenu(MF_STRING | MF_ENABLED, m_nPopupPasteLastMessage, sMenuItemText);\r
+\r
+               sMenuItemText.LoadString(IDS_COMMITDLG_POPUP_LOGHISTORY);\r
+               m_nPopupRecentMessage = nCmd++;\r
+               mPopup.AppendMenu(MF_STRING | MF_ENABLED, m_nPopupRecentMessage, sMenuItemText);\r
+\r
        }\r
        \r
 }\r
@@ -1320,6 +1326,12 @@ bool CCommitDlg::HandleMenuItemClick(int cmd, CSciEdit * pSciEdit)
                pSciEdit->InsertText(logmsg);\r
                return true;\r
        }\r
+\r
+       if(cmd == m_nPopupRecentMessage )\r
+       {\r
+               OnBnClickedHistory();\r
+               return true;\r
+       }\r
        return false;\r
 }\r
 \r
@@ -1353,7 +1365,7 @@ void CCommitDlg::OnBnClickedHistory()
        m_tooltips.Pop();       // hide the tooltips\r
        if (m_pathList.GetCount() == 0)\r
                return;\r
-#if 0\r
+\r
        CHistoryDlg historyDlg;\r
        historyDlg.SetHistory(m_History);\r
        if (historyDlg.DoModal() != IDOK)\r
@@ -1375,7 +1387,7 @@ void CCommitDlg::OnBnClickedHistory()
 \r
        UpdateOKButton();\r
        GetDlgItem(IDC_LOGMESSAGE)->SetFocus();\r
-#endif\r
+\r
 }\r
 \r
 void CCommitDlg::OnBnClickedBugtraqbutton()\r