From: Gunnar Beutner Date: Sat, 31 Mar 2012 07:36:38 +0000 (+0200) Subject: Make sure to remove dead weak delegates from events. X-Git-Tag: v0.0.1~688 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b0ed08d4b5993adcbfe734f34e80af32cfc34ec6;p=icinga2 Make sure to remove dead weak delegates from events. --- diff --git a/base/event.h b/base/event.h index de6e6cbbe..36e07e5fa 100644 --- a/base/event.h +++ b/base/event.h @@ -42,7 +42,10 @@ public: prev = i; i++; - (*prev)(args); + int result = (*prev)(args); + + if (result == -1) + m_Delegates.erase(prev); } } };