delete m_pStoreSelection;\r
m_pStoreSelection = NULL;\r
}\r
+\r
+ if(this->m_bThreadRunning)\r
+ {\r
+ m_bExitThread=true;\r
+ WaitForSingleObject(m_LoadingThread->m_hThread,1000);\r
+ TerminateThread();\r
+ }\r
}\r
\r
\r
\r
FillGitShortLog();\r
\r
- \r
+ if(this->m_bExitThread)\r
+ return 0;\r
\r
RedrawItems(0, m_arShownList.GetCount());\r
SetRedraw(false);\r
this->InvalidateRect(rect);\r
}\r
\r
+ if(m_bExitThread)\r
+ return 0;\r
+\r
percent=updated*98/m_logEntries.size() + GITLOG_START+1;\r
if(percent == GITLOG_END)\r
percent = GITLOG_END -1;\r
if(m_ProcCallBack)\r
m_ProcCallBack(m_ProcData,percent);\r
\r
- if(m_bExitThread)\r
- break;\r
+ \r
}\r
if(updated==m_logEntries.size())\r
break;\r
//ResizeAllListCtrlCols();\r
SetRedraw(true);\r
Invalidate();\r
+\r
}\r
void CGitLogListBase::RemoveFilter()\r
{\r
DialogEnableWindow(IDC_STATBUTTON, TRUE);\r
DialogEnableWindow(IDC_REFRESH, TRUE);\r
\r
- PostMessage(WM_TIMER, LOGFILTER_TIMER);\r
+// PostMessage(WM_TIMER, LOGFILTER_TIMER);\r
\r
//CTime time=m_LogList.GetOldestTime();\r
CTime begin,end;\r
{\r
//m_bCancelled = true;\r
//return;\r
- m_LogList.TerminateThread();\r
+ if(m_LogList.m_bThreadRunning)\r
+ {\r
+ //m_LogList.m_bExitThread=true;\r
+ //WaitForSingleObject(m_LogList.m_LoadingThread->m_hThread,INFINITE);\r
+ m_LogList.TerminateThread();\r
+ }\r
+\r
+ //m_LogList.TerminateThread();\r
}\r
UpdateData();\r
if (m_bSaveStrict)\r