Index: src/ch/FeedbackHandler.cpp =================================================================== diff -u -N -r04a9f2496d5931c7e06ff815fb8d0e3eabaf2cf2 -r1da7ee476d3e1e818d3af54210ba55d7063d1a2c --- src/ch/FeedbackHandler.cpp (.../FeedbackHandler.cpp) (revision 04a9f2496d5931c7e06ff815fb8d0e3eabaf2cf2) +++ src/ch/FeedbackHandler.cpp (.../FeedbackHandler.cpp) (revision 1da7ee476d3e1e818d3af54210ba55d7063d1a2c) @@ -127,17 +127,20 @@ return eFeedbackResult; } +void CFeedbackHandler::RestoreDefaults() +{ + memset(m_aeFeedbackTypeStatus, 0, sizeof(m_aeFeedbackTypeStatus)); +} + chcore::IFeedbackHandlerPtr CFeedbackHandlerFactory::Create() { return chcore::IFeedbackHandlerPtr(new CFeedbackHandler); } CFeedbackHandlerFactory::CFeedbackHandlerFactory() { - } CFeedbackHandlerFactory::~CFeedbackHandlerFactory() { - } Index: src/ch/FeedbackHandler.h =================================================================== diff -u -N -r7d59ab9183c933f2fc2682a95fb5d26cf2f952d7 -r1da7ee476d3e1e818d3af54210ba55d7063d1a2c --- src/ch/FeedbackHandler.h (.../FeedbackHandler.h) (revision 7d59ab9183c933f2fc2682a95fb5d26cf2f952d7) +++ src/ch/FeedbackHandler.h (.../FeedbackHandler.h) (revision 1da7ee476d3e1e818d3af54210ba55d7063d1a2c) @@ -29,6 +29,7 @@ public: virtual ull_t RequestFeedback(ull_t ullFeedbackID, ptr_t pFeedbackParam) override; + virtual void RestoreDefaults() override; protected: EFeedbackResult m_aeFeedbackTypeStatus[eFT_LastType]; Index: src/libchcore/IFeedbackHandler.h =================================================================== diff -u -N -r7d59ab9183c933f2fc2682a95fb5d26cf2f952d7 -r1da7ee476d3e1e818d3af54210ba55d7063d1a2c --- src/libchcore/IFeedbackHandler.h (.../IFeedbackHandler.h) (revision 7d59ab9183c933f2fc2682a95fb5d26cf2f952d7) +++ src/libchcore/IFeedbackHandler.h (.../IFeedbackHandler.h) (revision 1da7ee476d3e1e818d3af54210ba55d7063d1a2c) @@ -91,6 +91,7 @@ virtual ~IFeedbackHandler(); virtual unsigned long long RequestFeedback(unsigned long long ullFeedbackID, void* pFeedbackParam) = 0; + virtual void RestoreDefaults() = 0; }; typedef boost::shared_ptr IFeedbackHandlerPtr; Index: src/libchcore/TFeedbackHandlerWrapper.cpp =================================================================== diff -u -N -r7d59ab9183c933f2fc2682a95fb5d26cf2f952d7 -r1da7ee476d3e1e818d3af54210ba55d7063d1a2c --- src/libchcore/TFeedbackHandlerWrapper.cpp (.../TFeedbackHandlerWrapper.cpp) (revision 7d59ab9183c933f2fc2682a95fb5d26cf2f952d7) +++ src/libchcore/TFeedbackHandlerWrapper.cpp (.../TFeedbackHandlerWrapper.cpp) (revision 1da7ee476d3e1e818d3af54210ba55d7063d1a2c) @@ -39,4 +39,9 @@ return m_spFeedbackHandler->RequestFeedback(ullFeedbackID, pFeedbackParam); } +void TFeedbackHandlerWrapper::RestoreDefaults() +{ + return m_spFeedbackHandler->RestoreDefaults(); +} + END_CHCORE_NAMESPACE Index: src/libchcore/TFeedbackHandlerWrapper.h =================================================================== diff -u -N -r7d59ab9183c933f2fc2682a95fb5d26cf2f952d7 -r1da7ee476d3e1e818d3af54210ba55d7063d1a2c --- src/libchcore/TFeedbackHandlerWrapper.h (.../TFeedbackHandlerWrapper.h) (revision 7d59ab9183c933f2fc2682a95fb5d26cf2f952d7) +++ src/libchcore/TFeedbackHandlerWrapper.h (.../TFeedbackHandlerWrapper.h) (revision 1da7ee476d3e1e818d3af54210ba55d7063d1a2c) @@ -37,6 +37,7 @@ TFeedbackHandlerWrapper& operator=(const TFeedbackHandlerWrapper&) = delete; virtual unsigned long long RequestFeedback(unsigned long long ullFeedbackID, void* pFeedbackParam) override; + virtual void RestoreDefaults() override; private: IFeedbackHandlerPtr m_spFeedbackHandler; Index: src/libchcore/TTask.cpp =================================================================== diff -u -N -r7d59ab9183c933f2fc2682a95fb5d26cf2f952d7 -r1da7ee476d3e1e818d3af54210ba55d7063d1a2c --- src/libchcore/TTask.cpp (.../TTask.cpp) (revision 7d59ab9183c933f2fc2682a95fb5d26cf2f952d7) +++ src/libchcore/TTask.cpp (.../TTask.cpp) (revision 1da7ee476d3e1e818d3af54210ba55d7063d1a2c) @@ -290,6 +290,7 @@ SetTaskState(eTaskState_None); + m_spInternalFeedbackHandler->RestoreDefaults(); m_tSubTasksArray.ResetProgressAndStats(); BeginProcessing();