]> granicus.if.org Git - icinga2/commitdiff
Fix exception for Notification objects without checkable object.
authorMichael Friedrich <michael.friedrich@netways.de>
Fri, 2 May 2014 17:43:49 +0000 (19:43 +0200)
committerMichael Friedrich <michael.friedrich@netways.de>
Fri, 2 May 2014 17:43:49 +0000 (19:43 +0200)
Fixes #6111

lib/icinga/notification.cpp

index 0fb5254648f90d058e305c39d29a92946e353559..1e1cb78cf5252912e9729475879cad3f333b882e 100644 (file)
@@ -81,21 +81,30 @@ void Notification::OnConfigLoaded(void)
        SetTypeFilter(FilterArrayToInt(GetTypes(), ~0));
        SetStateFilter(FilterArrayToInt(GetStates(), ~0));
 
-       GetCheckable()->AddNotification(GetSelf());
+       Checkable::Ptr obj = GetCheckable();
+
+       if (obj)
+               obj->AddNotification(GetSelf());
 }
 
 void Notification::Start(void)
 {
        DynamicObject::Start();
 
-       GetCheckable()->AddNotification(GetSelf());
+       Checkable::Ptr obj = GetCheckable();
+
+       if (obj)
+               obj->AddNotification(GetSelf());
 }
 
 void Notification::Stop(void)
 {
        DynamicObject::Stop();
 
-       GetCheckable()->RemoveNotification(GetSelf());
+       Checkable::Ptr obj = GetCheckable();
+
+       if (obj)
+               obj->RemoveNotification(GetSelf());
 }
 
 Checkable::Ptr Notification::GetCheckable(void) const