Index: src/libchengine/TSubTaskScanDirectory.cpp =================================================================== diff -u -N -re8897f4f07ba4523376c2d6599d87428424a4772 -r9fcf462ad4a28203a3d34ded6da7125d4dcc925c --- src/libchengine/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision e8897f4f07ba4523376c2d6599d87428424a4772) +++ src/libchengine/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision 9fcf462ad4a28203a3d34ded6da7125d4dcc925c) @@ -45,7 +45,7 @@ // class TSubTaskScanDirectories TSubTaskScanDirectories::TSubTaskScanDirectories(TSubTaskContext& rContext) : TSubTaskBase(rContext), - m_tSubTaskStats(eSubOperation_Scanning), + m_tSubTaskStats(eSubOperation_Scanning, true), m_spLog(std::make_unique(rContext.GetLogFileData(), L"ST-ScanDirs")) { } @@ -108,7 +108,7 @@ // new stats m_tSubTaskStats.SetCurrentBufferIndex(TBufferSizes::eBuffer_Default); - m_tSubTaskStats.SetTotalCount(spBasePaths->GetCount()); + m_tSubTaskStats.SetTotalCount(0); m_tSubTaskStats.SetProcessedCount(0); m_tSubTaskStats.SetTotalSize(0); m_tSubTaskStats.SetProcessedSize(0); @@ -203,7 +203,14 @@ // update stats m_tSubTaskStats.SetCurrentIndex(fcIndex); - m_tSubTaskStats.SetProcessedCount(fcIndex); + + auto totalCount = rFilesCache.GetCount(); + m_tSubTaskStats.SetTotalCount(totalCount); + m_tSubTaskStats.SetProcessedCount(totalCount); + auto totalSize = rFilesCache.CalculateTotalSize(); + m_tSubTaskStats.SetTotalSize(totalSize); + m_tSubTaskStats.SetProcessedSize(totalSize); + m_tSubTaskStats.SetCurrentPath(TString()); rFilesCache.SetComplete(true); @@ -269,6 +276,13 @@ } } + auto totalCount = rFilesCache.GetCount(); + m_tSubTaskStats.SetTotalCount(totalCount); + m_tSubTaskStats.SetProcessedCount(totalCount); + auto totalSize = rFilesCache.CalculateTotalSize(); + m_tSubTaskStats.SetTotalSize(totalSize); + m_tSubTaskStats.SetProcessedSize(totalSize); + return stFilesCount; }