From 2d8e245ced6790387e493409caebc74f9c17980f Mon Sep 17 00:00:00 2001 From: achmizs Date: Tue, 12 Jan 2016 15:28:03 -0500 Subject: [PATCH] Check that delegate implements optional methods before calling them --- IRCClient/IRCClientSession.m | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/IRCClient/IRCClientSession.m b/IRCClient/IRCClientSession.m index f383147..c22537e 100644 --- a/IRCClient/IRCClientSession.m +++ b/IRCClient/IRCClientSession.m @@ -501,7 +501,10 @@ static NSDictionary* ircNumericCodeList; - (void)CTCPReplyReceived:(NSData *)reply fromUser:(NSData *)nick { - [_delegate CTCPReplyReceived:reply fromUser:nick session:self]; + if([_delegate respondsToSelector:@selector(CTCPReplyReceived:fromUser:session:)]) + { + [_delegate CTCPReplyReceived:reply fromUser:nick session:self]; + } } - (void)CTCPActionPerformed:(NSData *)action byUser:(NSData *)nick atTarget:(NSData *)target @@ -522,12 +525,18 @@ static NSDictionary* ircNumericCodeList; - (void)unknownEventReceived:(NSData *)event from:(NSData *)origin params:(NSArray *)params { - [_delegate unknownEventReceived:event from:origin params:params session:self]; + if([_delegate respondsToSelector:@selector(unknownEventReceived:from:params:session:)]) + { + [_delegate unknownEventReceived:event from:origin params:params session:self]; + } } -(void)numericEventReceived:(NSUInteger)event from:(NSData *)origin params:(NSArray *)params { - [_delegate numericEventReceived:event from:origin params:params session:self]; + if([_delegate respondsToSelector:@selector(numericEventReceived:from:params:session:)]) + { + [_delegate numericEventReceived:event from:origin params:params session:self]; + } } @end