Index: src/ch/TSubTaskScanDirectory.cpp =================================================================== diff -u -N -ra77ea347e3787d330b37917be4c72be480419c93 -re30c2b40bd1b533d8740edc88d80b2fb340f3466 --- src/ch/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision a77ea347e3787d330b37917be4c72be480419c93) +++ src/ch/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision e30c2b40bd1b533d8740edc88d80b2fb340f3466) @@ -81,15 +81,14 @@ bSkipInputPath = false; spFileInfo.reset(new CFileInfo()); - spFileInfo->SetClipboard(&rTaskDefinition.GetSourcePaths()); // try to get some info about the input path; let user know if the path does not exist. do { bRetry = false; // read attributes of src file/folder - bool bExists = spFileInfo->Create(rTaskDefinition.GetSourcePathAt(stIndex), stIndex); + bool bExists = TLocalFilesystem::GetFileInfo(rTaskDefinition.GetSourcePathAt(stIndex), spFileInfo, stIndex, &rTaskDefinition.GetSourcePaths()); if(!bExists) { FEEDBACK_FILEERROR ferr = { rTaskDefinition.GetSourcePathAt(stIndex).ToString(), NULL, eFastMoveError, ERROR_FILE_NOT_FOUND }; @@ -233,9 +232,11 @@ if(!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { CFileInfoPtr spFileInfo(boost::make_shared()); - spFileInfo->SetClipboard(&rTaskDefinition.GetSourcePaths()); // this is the link table (CClipboardArray) - spFileInfo->Create(&wfd, pathDirName, stSrcIndex); + spFileInfo->Init(pathDirName + chcore::PathFromString(wfd.cFileName), stSrcIndex, &rTaskDefinition.GetSourcePaths(), + wfd.dwFileAttributes, (((ULONGLONG) wfd.nFileSizeHigh) << 32) + wfd.nFileSizeLow, wfd.ftCreationTime, + wfd.ftLastAccessTime, wfd.ftLastWriteTime, 0); + if(afFilters.Match(spFileInfo)) rFilesCache.AddFileInfo(spFileInfo); } @@ -244,10 +245,12 @@ if(bIncludeDirs) { CFileInfoPtr spFileInfo(boost::make_shared()); - spFileInfo->SetClipboard(&rTaskDefinition.GetSourcePaths()); // this is the link table (CClipboardArray) // Add directory itself - spFileInfo->Create(&wfd, pathDirName, stSrcIndex); + spFileInfo->Init(pathDirName + chcore::PathFromString(wfd.cFileName), stSrcIndex, &rTaskDefinition.GetSourcePaths(), + wfd.dwFileAttributes, (((ULONGLONG) wfd.nFileSizeHigh) << 32) + wfd.nFileSizeLow, wfd.ftCreationTime, + wfd.ftLastAccessTime, wfd.ftLastWriteTime, 0); + rFilesCache.AddFileInfo(spFileInfo); } if(bRecurse)