Index: src/libchcore/TSubTaskCopyMove.cpp =================================================================== diff -u -N -rd3b1a109f2ace158e828715205592615d6e33fd0 -r3b320bc86d4e808c2f6a70c10bd5c9936102b301 --- src/libchcore/TSubTaskCopyMove.cpp (.../TSubTaskCopyMove.cpp) (revision d3b1a109f2ace158e828715205592615d6e33fd0) +++ src/libchcore/TSubTaskCopyMove.cpp (.../TSubTaskCopyMove.cpp) (revision 3b320bc86d4e808c2f6a70c10bd5c9936102b301) @@ -77,6 +77,25 @@ m_tSubTaskStats.Clear(); } + void TSubTaskCopyMove::InitBeforeExec() + { + TFileInfoArray& rFilesCache = GetContext().GetFilesCache(); + + file_count_t fcCount = rFilesCache.GetSize(); + if(fcCount == 0) + { + m_tSubTaskStats.SetCurrentPath(TString()); + return; + } + + file_count_t fcIndex = m_tSubTaskStats.GetCurrentIndex(); + if(fcIndex >= fcCount) + fcIndex = 0; + + TFileInfoPtr spFileInfo = rFilesCache.GetAt(fcIndex); + m_tSubTaskStats.SetCurrentPath(spFileInfo->GetFullFilePath().ToString()); + } + TSubTaskBase::ESubOperationResult TSubTaskCopyMove::Exec(const IFeedbackHandlerPtr& spFeedback) { TScopedRunningTimeTracker guard(m_tSubTaskStats);