Index: src/libchcore/TSubTaskScanDirectory.cpp =================================================================== diff -u -N -r89f857792bba8752de98ddd477949e45cef5ba5a -r3b320bc86d4e808c2f6a70c10bd5c9936102b301 --- src/libchcore/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision 89f857792bba8752de98ddd477949e45cef5ba5a) +++ src/libchcore/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision 3b320bc86d4e808c2f6a70c10bd5c9936102b301) @@ -60,6 +60,25 @@ m_tSubTaskStats.Clear(); } + void TSubTaskScanDirectories::InitBeforeExec() + { + TBasePathDataContainerPtr spBasePaths = GetContext().GetBasePaths(); + + file_count_t fcSize = spBasePaths->GetCount(); + file_count_t fcIndex = m_tSubTaskStats.GetCurrentIndex(); + + if(fcIndex >= fcSize) + fcIndex = 0; + + if(fcSize > 0) + { + TBasePathDataPtr spBasePath = spBasePaths->GetAt(fcIndex); + m_tSubTaskStats.SetCurrentPath(spBasePath->GetSrcPath().ToString()); + } + else + m_tSubTaskStats.SetCurrentPath(TString()); + } + TSubTaskScanDirectories::ESubOperationResult TSubTaskScanDirectories::Exec(const IFeedbackHandlerPtr& spFeedback) { TScopedRunningTimeTracker guard(m_tSubTaskStats);