Index: src/libchcore/TSubTaskDelete.cpp
===================================================================
diff -u -N -rcdc76e1a95383dff63a5254aeb8d37035028512c -r9ebcc7abf1e0e70f0db2d08b2691351a26ef259b
--- src/libchcore/TSubTaskDelete.cpp	(.../TSubTaskDelete.cpp)	(revision cdc76e1a95383dff63a5254aeb8d37035028512c)
+++ src/libchcore/TSubTaskDelete.cpp	(.../TSubTaskDelete.cpp)	(revision 9ebcc7abf1e0e70f0db2d08b2691351a26ef259b)
@@ -65,6 +65,7 @@
 	TFileInfoArray& rFilesCache = GetContext().GetFilesCache();
 	TWorkerThreadController& rThreadController = GetContext().GetThreadController();
 	const TConfig& rConfig = GetContext().GetConfig();
+	IFilesystemPtr spFilesystem = GetContext().GetLocalFilesystem();
 
 	// log
 	rLog.logi(_T("Deleting files (DeleteFiles)..."));
@@ -113,15 +114,15 @@
 		if(spFileInfo->IsDirectory())
 		{
 			if(!GetTaskPropValue<eTO_ProtectReadOnlyFiles>(rConfig))
-				TLocalFilesystem::SetAttributes(spFileInfo->GetFullFilePath(), FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_DIRECTORY);
-			bSuccess = TLocalFilesystem::RemoveDirectory(spFileInfo->GetFullFilePath());
+				spFilesystem->SetAttributes(spFileInfo->GetFullFilePath(), FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_DIRECTORY);
+			bSuccess = spFilesystem->RemoveDirectory(spFileInfo->GetFullFilePath());
 		}
 		else
 		{
 			// set files attributes to normal - it'd slow processing a bit, but it's better.
 			if(!GetTaskPropValue<eTO_ProtectReadOnlyFiles>(rConfig))
-				TLocalFilesystem::SetAttributes(spFileInfo->GetFullFilePath(), FILE_ATTRIBUTE_NORMAL);
-			bSuccess = TLocalFilesystem::DeleteFile(spFileInfo->GetFullFilePath());
+				spFilesystem->SetAttributes(spFileInfo->GetFullFilePath(), FILE_ATTRIBUTE_NORMAL);
+			bSuccess = spFilesystem->DeleteFile(spFileInfo->GetFullFilePath());
 		}
 
 		// operation failed