Index: src/libchcore/TSubTaskScanDirectory.cpp =================================================================== diff -u -ra7834ba278464cb62739f22d35f9bc16269706a1 -rb193a95402f2bf4c456fb9d65d111caaf6994823 --- src/libchcore/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision a7834ba278464cb62739f22d35f9bc16269706a1) +++ src/libchcore/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision b193a95402f2bf4c456fb9d65d111caaf6994823) @@ -122,6 +122,7 @@ TWorkerThreadController& rThreadController = GetContext().GetThreadController(); TBasePathDataContainerPtr spBasePaths = GetContext().GetBasePaths(); const TConfig& rConfig = GetContext().GetConfig(); + const TFileFiltersArray& rafFilters = GetContext().GetFilters(); rLog.logi(_T("Searching for files...")); @@ -139,10 +140,6 @@ // delete the content of rFilesCache rFilesCache.Clear(); - // read filtering options - TFileFiltersArray afFilters; - GetTaskPropValue(rConfig, afFilters); - bool bIgnoreDirs = GetTaskPropValue(rConfig); bool bForceDirectories = GetTaskPropValue(rConfig); @@ -239,7 +236,7 @@ strFormat.Replace(_t("%path"), spFileInfo->GetFullFilePath().ToString()); rLog.logi(strFormat); - ScanDirectory(spFileInfo->GetFullFilePath(), spBasePath, true, !bIgnoreDirs || bForceDirectories, afFilters); + ScanDirectory(spFileInfo->GetFullFilePath(), spBasePath, true, !bIgnoreDirs || bForceDirectories, rafFilters); // check for kill need if(rThreadController.KillRequested()) @@ -253,7 +250,7 @@ else { // add file info if passes filters - if(afFilters.Match(spFileInfo)) + if(rafFilters.Match(spFileInfo)) rFilesCache.AddFileInfo(spFileInfo); // log @@ -283,7 +280,8 @@ m_tSubTaskStats.GetSnapshot(spStats); } -int TSubTaskScanDirectories::ScanDirectory(TSmartPath pathDirName, const TBasePathDataPtr& spBasePathData, bool bRecurse, bool bIncludeDirs, TFileFiltersArray& afFilters) +int TSubTaskScanDirectories::ScanDirectory(TSmartPath pathDirName, const TBasePathDataPtr& spBasePathData, + bool bRecurse, bool bIncludeDirs, const TFileFiltersArray& afFilters) { TFileInfoArray& rFilesCache = GetContext().GetFilesCache(); TWorkerThreadController& rThreadController = GetContext().GetThreadController();