Index: src/libchcore/TSubTaskCopyMove.cpp =================================================================== diff -u -N -r16df8fcf9d5b3317338aece64762771419beaf4a -r121d674474766192b5bf02afda67fb962635f56b --- src/libchcore/TSubTaskCopyMove.cpp (.../TSubTaskCopyMove.cpp) (revision 16df8fcf9d5b3317338aece64762771419beaf4a) +++ src/libchcore/TSubTaskCopyMove.cpp (.../TSubTaskCopyMove.cpp) (revision 121d674474766192b5bf02afda67fb962635f56b) @@ -100,6 +100,9 @@ // begin at index which wasn't processed previously file_count_t fcSize = rFilesCache.GetSize(); + file_count_t fcIndex = m_tSubTaskStats.GetCurrentIndex(); + unsigned long long ullCurrentItemProcessedSize = m_tSubTaskStats.GetCurrentItemProcessedSize(); + bool bIgnoreFolders = GetTaskPropValue(rConfig); bool bForceDirectories = GetTaskPropValue(rConfig); @@ -113,7 +116,6 @@ AdjustBufferIfNeeded(ccp.dbBuffer, ccp.tBufferSizes); - file_count_t fcIndex = m_tSubTaskStats.GetCurrentIndex(); // log TString strFormat; strFormat = _T("Processing files/folders (ProcessFiles):\r\n\tOnlyCreate: %create\r\n\tFiles/folders count: %filecount\r\n\tIgnore Folders: %ignorefolders\r\n\tDest path: %dstpath\r\n\tCurrent index (0-based): %currindex"); @@ -127,8 +129,6 @@ for(; fcIndex < fcSize; fcIndex++) { - m_tSubTaskStats.SetCurrentIndex(fcIndex); - // should we kill ? if(rThreadController.KillRequested()) { @@ -142,9 +142,11 @@ TSmartPath pathCurrent = spFileInfo->GetFullFilePath(); // new stats + m_tSubTaskStats.SetCurrentIndex(fcIndex); m_tSubTaskStats.SetProcessedCount(fcIndex); m_tSubTaskStats.SetCurrentPath(pathCurrent.ToString()); - m_tSubTaskStats.SetCurrentItemProcessedSize(0); + m_tSubTaskStats.SetCurrentItemProcessedSize(ullCurrentItemProcessedSize); // preserve the processed size for the first item + ullCurrentItemProcessedSize = 0; m_tSubTaskStats.SetCurrentItemTotalSize(spFileInfo->GetLength64()); // set dest path with filename