Index: src/libchcore/TSubTaskFastMove.cpp =================================================================== diff -u -N -r2088b7e742e3b3817c2fe356166307622be31efb -r3b320bc86d4e808c2f6a70c10bd5c9936102b301 --- src/libchcore/TSubTaskFastMove.cpp (.../TSubTaskFastMove.cpp) (revision 2088b7e742e3b3817c2fe356166307622be31efb) +++ src/libchcore/TSubTaskFastMove.cpp (.../TSubTaskFastMove.cpp) (revision 3b320bc86d4e808c2f6a70c10bd5c9936102b301) @@ -59,6 +59,25 @@ m_tSubTaskStats.Clear(); } + void TSubTaskFastMove::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()); + } + TSubTaskFastMove::ESubOperationResult TSubTaskFastMove::Exec(const IFeedbackHandlerPtr& spFeedback) { TScopedRunningTimeTracker guard(m_tSubTaskStats);