Index: src/ch/task.cpp =================================================================== diff -u -N -r2457755b4084e3d1c80a8e7c77c9f0996312941b -r34a693d8a44eeb16c2c2d071a29678dcbd2febb1 --- src/ch/task.cpp (.../task.cpp) (revision 2457755b4084e3d1c80a8e7c77c9f0996312941b) +++ src/ch/task.cpp (.../task.cpp) (revision 34a693d8a44eeb16c2c2d071a29678dcbd2febb1) @@ -575,7 +575,7 @@ if (GetStatus(ST_STEP_MASK) > ST_SEARCHING) m_files.Store(ar, false); else - ar<(0); + ar<(0); m_dpDestPath.Serialize(ar); ar<SetCurrentCopy(j); for (int i=pTask->GetCurrentIndex();iSetCurrentIndex(i); - CFileInfo& fi=pTask->FilesGetAtCurrentIndex(); - // should we kill ? if (pTask->GetKillFlag()) { @@ -2306,6 +2306,10 @@ throw new CProcessingException(E_KILL_REQUEST, pTask); } + // update m_nCurrentIndex, getting current CFileInfo + pTask->SetCurrentIndex(i); + CFileInfo& fi=pTask->FilesGetAtCurrentIndex(); + // set dest path with filename ccp.strDstFile=fi.GetDestinationPath(dpDestPath.GetPath(), j, ((int)bForceDirectories) << 1 | (int)bIgnoreFolders);