diff options
Diffstat (limited to 'decoder/source/trc_component.cpp')
| -rw-r--r-- | decoder/source/trc_component.cpp | 14 | 
1 files changed, 10 insertions, 4 deletions
| diff --git a/decoder/source/trc_component.cpp b/decoder/source/trc_component.cpp index 47200a1ead67..dae92d4213de 100644 --- a/decoder/source/trc_component.cpp +++ b/decoder/source/trc_component.cpp @@ -41,7 +41,13 @@ public:      {          m_pComp = 0;      }; -    virtual ~ errLogAttachMonitor() {}; +    virtual ~ errLogAttachMonitor() +    { +        if (m_pComp) +            m_pComp->getErrorLogAttachPt()->set_notifier(0); +        m_pComp = 0; +         +    };      virtual void attachNotify(const int num_attached)      {          if(m_pComp) @@ -73,6 +79,8 @@ TraceComponent::TraceComponent(const std::string &name, int instIDNum)  TraceComponent::~TraceComponent()  { +    if (m_pErrAttachMon) +        delete m_pErrAttachMon;  }  void TraceComponent::Init(const std::string &name) @@ -140,9 +148,7 @@ void TraceComponent::updateErrorLogLevel()  ocsd_err_t TraceComponent::setComponentOpMode(uint32_t op_flags)  { -    if( (~m_supported_op_flags & op_flags) != 0) -        return OCSD_ERR_INVALID_PARAM_VAL; -    m_op_flags = op_flags; +    m_op_flags = op_flags & m_supported_op_flags;      return OCSD_OK;  } | 
