Index: src/libchengine/TSubTaskFastMove.cpp =================================================================== diff -u -N -r9ddf8fdd5f641491dd30c49eb90f8f740314b6af -r08717141ce5f6926116c298cbc9442094a45bb67 --- src/libchengine/TSubTaskFastMove.cpp (.../TSubTaskFastMove.cpp) (revision 9ddf8fdd5f641491dd30c49eb90f8f740314b6af) +++ src/libchengine/TSubTaskFastMove.cpp (.../TSubTaskFastMove.cpp) (revision 08717141ce5f6926116c298cbc9442094a45bb67) @@ -31,10 +31,10 @@ #include "TFileInfo.h" #include #include "TScopedRunningTimeTracker.h" -#include "TFeedbackHandlerWrapper.h" #include "TBufferSizes.h" #include "TFilesystemFeedbackWrapper.h" #include "TDestinationPathProvider.h" +#include using namespace chcore; using namespace string; @@ -77,11 +77,17 @@ m_tSubTaskStats.SetCurrentPath(TString()); } - TSubTaskFastMove::ESubOperationResult TSubTaskFastMove::Exec(const IFeedbackHandlerPtr& spFeedback) + TSubTaskFastMove::ESubOperationResult TSubTaskFastMove::Exec() { TScopedRunningTimeTracker guard(m_tSubTaskStats); - TFeedbackHandlerWrapperPtr spFeedbackHandler(std::make_shared(spFeedback, guard)); + FeedbackManagerPtr spFeedbackManager = GetContext().GetFeedbackManager(); + spFeedbackManager->SetSecondaryTimeTracker(&guard); + BOOST_SCOPE_EXIT(&spFeedbackManager) { + spFeedbackManager->SetSecondaryTimeTracker(nullptr); + } BOOST_SCOPE_EXIT_END + + // log TWorkerThreadController& rThreadController = GetContext().GetThreadController(); TBasePathDataContainerPtr spBasePaths = GetContext().GetBasePaths(); @@ -90,7 +96,7 @@ const TFileFiltersArray& rafFilters = GetContext().GetFilters(); IFilesystemPtr spFilesystem = GetContext().GetLocalFilesystem(); - TFilesystemFeedbackWrapper tFilesystemFBWrapper(spFeedbackHandler, spFilesystem, GetContext().GetLogFileData(), rThreadController); + TFilesystemFeedbackWrapper tFilesystemFBWrapper(spFeedbackManager, spFilesystem, GetContext().GetLogFileData(), rThreadController); LOG_INFO(m_spLog) << _T("Performing initial fast-move operation...");