Index: src/libchcore/TSubTaskBase.cpp =================================================================== diff -u -N -r2efd22688b8d12be34c87bf2b024d8db6e317d60 -ra7834ba278464cb62739f22d35f9bc16269706a1 --- src/libchcore/TSubTaskBase.cpp (.../TSubTaskBase.cpp) (revision 2efd22688b8d12be34c87bf2b024d8db6e317d60) +++ src/libchcore/TSubTaskBase.cpp (.../TSubTaskBase.cpp) (revision a7834ba278464cb62739f22d35f9bc16269706a1) @@ -47,8 +47,6 @@ TSmartPath TSubTaskBase::CalculateDestinationPath(const TFileInfoPtr& spFileInfo, TSmartPath pathDst, int iFlags) { - TBasePathDataContainer& rSourcePathsInfo = GetContext().GetBasePathDataContainer(); - if(!spFileInfo) THROW_CORE_EXCEPTION(eErr_InvalidArgument); @@ -65,12 +63,11 @@ } else { - size_t stSrcObjectID = spFileInfo->GetSrcObjectID(); + TBasePathDataPtr spPathData = spFileInfo->GetBasePathData(); - if(!(iFlags & 0x01) && stSrcObjectID != std::numeric_limits::max()) + if(!(iFlags & 0x01) && spPathData) { // generate new dest name - TBasePathDataPtr spPathData = rSourcePathsInfo.Get(stSrcObjectID); if(!spPathData->IsDestinationPathSet()) { // generate something - if dest folder == src folder - search for copy