Index: src/libchcore/TTaskManager.cpp
===================================================================
diff -u -N -ra7834ba278464cb62739f22d35f9bc16269706a1 -r1f438ded9f2d8e972ed7c6840793b2faf8e3b9c8
--- src/libchcore/TTaskManager.cpp	(.../TTaskManager.cpp)	(revision a7834ba278464cb62739f22d35f9bc16269706a1)
+++ src/libchcore/TTaskManager.cpp	(.../TTaskManager.cpp)	(revision 1f438ded9f2d8e972ed7c6840793b2faf8e3b9c8)
@@ -137,7 +137,7 @@
 
 void TTaskManager::RemoveAllFinished()
 {
-	std::vector<ISerializerPtr> vTasksSerializersToRemove;
+	std::vector<TString> vTasksSerializersToRemove;
 
 	// separate scope for locking
 	{
@@ -158,16 +158,16 @@
 
 				spTask->OnUnregisterTask();
 
-				vTasksSerializersToRemove.push_back(spTask->GetSerializer());
+				vTasksSerializersToRemove.push_back(spTask->GetSerializer()->GetLocation().ToWString());
 				m_tTasks.RemoveAt(stIndex);
 			}
 		}
 	}
 
-	BOOST_FOREACH(ISerializerPtr& spSerializer, vTasksSerializersToRemove)
+	BOOST_FOREACH(const TString& strSerializerPath, vTasksSerializersToRemove)
 	{
 		// delete associated files
-		DeleteFile(spSerializer->GetLocation().ToString());
+		DeleteFile(strSerializerPath);
 	}
 }
 
@@ -201,7 +201,7 @@
 		}
 	}
 
-	BOOST_FOREACH(TSmartPath& spTaskPath, vTasksToRemove)
+	BOOST_FOREACH(const TSmartPath& spTaskPath, vTasksToRemove)
 	{
 		// delete associated files
 		DeleteFile(spTaskPath.ToString());