Index: src/libchengine/FeedbackManager.cpp =================================================================== diff -u -r08717141ce5f6926116c298cbc9442094a45bb67 -rb9453afbc6264bc3f3c6a7f86fadab7744e0fb16 --- src/libchengine/FeedbackManager.cpp (.../FeedbackManager.cpp) (revision 08717141ce5f6926116c298cbc9442094a45bb67) +++ src/libchengine/FeedbackManager.cpp (.../FeedbackManager.cpp) (revision b9453afbc6264bc3f3c6a7f86fadab7744e0fb16) @@ -26,6 +26,7 @@ using namespace serializer; using namespace chcore; +using namespace string; namespace chengine { @@ -82,22 +83,23 @@ return { eResult, bAutomatedResponse }; } - chengine::TFeedbackResult FeedbackManager::FileAlreadyExists(const TFileInfo& spSrcFileInfo, const TFileInfo& spDstFileInfo) + chengine::TFeedbackResult FeedbackManager::FileAlreadyExists(const TFileInfoPtr& spSrcFileInfo, const TFileInfo& rDstFileInfo, const TSmartPath& suggestedPath) { bool bAutomatedResponse = true; EFeedbackResult eResult = eResult_Unknown; { boost::shared_lock lock(m_lock); - eResult = m_feedbackRules.GetAlreadyExistsRules().Matches(spSrcFileInfo, spDstFileInfo); + eResult = m_feedbackRules.GetAlreadyExistsRules().Matches(*spSrcFileInfo, rDstFileInfo); } if(eResult == eResult_Unknown) { FeedbackAlreadyExistsRuleList newRules; + TString strNewPath = suggestedPath.ToWString(); { TScopedRunningTimeTrackerPause scopedTimePause(m_pTimeTracker); TScopedRunningTimeTrackerPause scopedSecondaryTimePause(m_pSecondaryTimeTracker); - eResult = m_spFeedbackHandler->FileAlreadyExists(spSrcFileInfo, spDstFileInfo, newRules); + eResult = m_spFeedbackHandler->FileAlreadyExists(*spSrcFileInfo, rDstFileInfo, strNewPath, newRules); } if(eResult != eResult_Unknown) { @@ -107,8 +109,14 @@ boost::unique_lock lock(m_lock); m_feedbackRules.GetAlreadyExistsRules().Merge(newRules); } + else if(eResult == eResult_Rename) + { + spSrcFileInfo->SetDstRelativePath(PathFromWString(strNewPath)); + } } } + else if(eResult == eResult_Rename) + spSrcFileInfo->SetDstRelativePath(suggestedPath); return { eResult, bAutomatedResponse }; }