diff --git a/Classes/ChatConversationInfoView.h b/Classes/ChatConversationInfoView.h index a3ad69c2a..2f2632d47 100644 --- a/Classes/ChatConversationInfoView.h +++ b/Classes/ChatConversationInfoView.h @@ -49,4 +49,6 @@ - (IBAction)onBackClick:(id)sender; - (IBAction)onQuitClick:(id)sender; +- (void)removeCallbacks; + @end diff --git a/Classes/ChatConversationInfoView.m b/Classes/ChatConversationInfoView.m index d7e431e3f..bbd88686e 100644 --- a/Classes/ChatConversationInfoView.m +++ b/Classes/ChatConversationInfoView.m @@ -132,6 +132,10 @@ static UICompositeViewDescription *compositeDescription = nil; } - (void)viewWillDisappear:(BOOL)animated { + [self removeCallbacks]; +} + +- (void)removeCallbacks { if (!_room || !_chatRoomCbs) return; diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m index 8837b84c3..b973520be 100644 --- a/Classes/LinphoneAppDelegate.m +++ b/Classes/LinphoneAppDelegate.m @@ -66,6 +66,9 @@ if (PhoneMainView.instance.currentView == ChatConversationView.compositeViewDescription) { ChatConversationView *view = VIEW(ChatConversationView); [view removeCallBacks]; + } else if (PhoneMainView.instance.currentView == ChatConversationInfoView.compositeViewDescription) { + ChatConversationInfoView *view = VIEW(ChatConversationInfoView); + [view removeCallbacks]; } [CoreManager.instance stopLinphoneCore]; }