OSDN Git Service

Sync Dialog progress command output correct handle \r
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / SyncDlg.cpp
index 9795415..e1185a6 100644 (file)
@@ -35,6 +35,7 @@ CSyncDlg::CSyncDlg(CWnd* pParent /*=NULL*/)
 {\r
        m_pTooltip=&this->m_tooltips;\r
        m_bInited=false;\r
+       m_CmdOutCurrentPos=0;\r
 }\r
 \r
 CSyncDlg::~CSyncDlg()\r
@@ -440,20 +441,18 @@ void CSyncDlg::ParserCmdOutput(TCHAR ch)
        if( ch == _T('\r') )\r
        {\r
                if(linenum>0)\r
-                       index = this->m_ctrlCmdOut.LineIndex(linenum-1);\r
+                       m_CmdOutCurrentPos = this->m_ctrlCmdOut.LineIndex(linenum-1);\r
                else\r
-                       index = 0;\r
+                       m_CmdOutCurrentPos = 0;\r
 \r
                //TRACE(_T("line %d - %d\n"),index,m_ctrlCmdOut.GetTextLength());\r
        }else\r
-               index = m_ctrlCmdOut.GetTextLength();\r
-\r
-       this->m_ctrlCmdOut.SetSel(index,m_ctrlCmdOut.GetTextLength()-1);\r
+               m_CmdOutCurrentPos++;\r
+               \r
+       this->m_ctrlCmdOut.SetSel(m_CmdOutCurrentPos,m_CmdOutCurrentPos+1);\r
        \r
        if( ch != _T('\r') )\r
                this->m_ctrlCmdOut.ReplaceSel(CString(ch));\r
-       else\r
-               this->m_ctrlCmdOut.ReplaceSel(CString(_T("")));\r
        \r
        int firstline = m_ctrlCmdOut.GetFirstVisibleLine();\r
        if( linenum - firstline > 4 )\r