aboutsummaryrefslogtreecommitdiffstats
path: root/decoder/source/trc_component.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'decoder/source/trc_component.cpp')
-rw-r--r--decoder/source/trc_component.cpp14
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;
}