Skip to content

Commit e5ea8a0

Browse files
committed
- added null check to code which was leading to a fatal error if an app is
built without setting test event trigger delegate mTestEventTriggerDelegate
1 parent 1cbcc5c commit e5ea8a0

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

examples/smoke-co-alarm-app/silabs/src/AppTask.cpp

+4-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,10 @@ CHIP_ERROR AppTask::Init()
7878
}
7979

8080
// Register Smoke & Co Test Event Trigger
81-
Server::GetInstance().GetTestEventTriggerDelegate()->AddHandler(&AlarmMgr());
81+
if (Server::GetInstance().GetTestEventTriggerDelegate() != nullptr)
82+
{
83+
Server::GetInstance().GetTestEventTriggerDelegate()->AddHandler(&AlarmMgr());
84+
}
8285

8386
sAlarmLED.Init(LIGHT_LED);
8487
sAlarmLED.Set(false);

src/app/server/Server.cpp

+8-2
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,10 @@ CHIP_ERROR Server::Init(const ServerInitParams & initParams)
359359
chip::app::InteractionModelEngine::GetInstance());
360360

361361
// Register Test Event Trigger Handler
362-
mTestEventTriggerDelegate->AddHandler(&mICDManager);
362+
if (mTestEventTriggerDelegate != nullptr)
363+
{
364+
mTestEventTriggerDelegate->AddHandler(&mICDManager);
365+
}
363366

364367
#endif // CHIP_CONFIG_ENABLE_ICD_SERVER
365368

@@ -606,7 +609,10 @@ void Server::Shutdown()
606609
Credentials::SetGroupDataProvider(nullptr);
607610
#if CHIP_CONFIG_ENABLE_ICD_SERVER
608611
// Remove Test Event Trigger Handler
609-
mTestEventTriggerDelegate->RemoveHandler(&mICDManager);
612+
if (mTestEventTriggerDelegate != nullptr)
613+
{
614+
mTestEventTriggerDelegate->RemoveHandler(&mICDManager);
615+
}
610616
mICDManager.Shutdown();
611617
#endif // CHIP_CONFIG_ENABLE_ICD_SERVER
612618
mAttributePersister.Shutdown();

0 commit comments

Comments
 (0)