Index: src/libchcore/TTask.cpp =================================================================== diff -u -N -r548382442cbf7bed7f744b279ce3f66b54992724 -r9b8cccbee0fcfeca28a112cc0253a7641f73f74f --- src/libchcore/TTask.cpp (.../TTask.cpp) (revision 548382442cbf7bed7f744b279ce3f66b54992724) +++ src/libchcore/TTask.cpp (.../TTask.cpp) (revision 9b8cccbee0fcfeca28a112cc0253a7641f73f74f) @@ -315,19 +315,18 @@ void TTask::GetSnapshot(TASK_DISPLAY_DATA *pData) { - TTaskStatsSnapshot tStats; - m_tSubTasksArray.GetTaskStats(tStats); + m_tSubTasksArray.GetTaskStats(pData->m_tTaskSnapshot); - pData->m_strFullFilePath = tStats.GetCurrentSubTaskStats().GetCurrentPath(); + pData->m_strFullFilePath = pData->m_tTaskSnapshot.GetCurrentSubTaskStats().GetCurrentPath(); pData->m_strFileName = chcore::PathFromString(pData->m_strFullFilePath).GetFileName().ToString(); - pData->m_stIndex = tStats.GetCurrentSubTaskStats().GetProcessedCount(); - pData->m_stSize = tStats.GetCurrentSubTaskStats().GetTotalCount(); - pData->m_ullProcessedSize = tStats.GetCurrentSubTaskStats().GetProcessedSize(); - pData->m_ullSizeAll = tStats.GetCurrentSubTaskStats().GetTotalSize(); - pData->m_eSubOperationType = tStats.GetCurrentSubOperationType(); - pData->m_iCurrentBufferIndex = tStats.GetCurrentSubTaskStats().GetCurrentBufferIndex(); - pData->m_dPercent = tStats.GetTaskProgressInPercent(); - pData->m_timeElapsed = tStats.GetTimeElapsed(); + pData->m_stIndex = pData->m_tTaskSnapshot.GetCurrentSubTaskStats().GetProcessedCount(); + pData->m_stSize = pData->m_tTaskSnapshot.GetCurrentSubTaskStats().GetTotalCount(); + pData->m_ullProcessedSize = pData->m_tTaskSnapshot.GetCurrentSubTaskStats().GetProcessedSize(); + pData->m_ullSizeAll = pData->m_tTaskSnapshot.GetCurrentSubTaskStats().GetTotalSize(); + pData->m_eSubOperationType = pData->m_tTaskSnapshot.GetCurrentSubOperationType(); + pData->m_iCurrentBufferIndex = pData->m_tTaskSnapshot.GetCurrentSubTaskStats().GetCurrentBufferIndex(); + pData->m_dPercent = pData->m_tTaskSnapshot.GetTaskProgressInPercent(); + pData->m_timeElapsed = pData->m_tTaskSnapshot.GetTimeElapsed(); boost::shared_lock lock(m_lock);