From 10e79db8c22f99529ace7317817d845662e9d51f Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Wed, 28 Feb 2018 15:15:43 +0100 Subject: [PATCH] do not add same cbs multiple times --- Classes/ChatConversationView.m | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Classes/ChatConversationView.m b/Classes/ChatConversationView.m index c890c6b66..91f811ff3 100644 --- a/Classes/ChatConversationView.m +++ b/Classes/ChatConversationView.m @@ -153,25 +153,25 @@ static UICompositeViewDescription *compositeDescription = nil; return; } - _chatRoomCbs = linphone_factory_create_chat_room_cbs(linphone_factory_get()); - linphone_chat_room_cbs_set_state_changed(_chatRoomCbs, on_chat_room_state_changed); - linphone_chat_room_cbs_set_subject_changed(_chatRoomCbs, on_chat_room_subject_changed); - linphone_chat_room_cbs_set_participant_added(_chatRoomCbs, on_chat_room_participant_added); - linphone_chat_room_cbs_set_participant_removed(_chatRoomCbs, on_chat_room_participant_removed); - linphone_chat_room_cbs_set_participant_admin_status_changed(_chatRoomCbs, on_chat_room_participant_admin_status_changed); - linphone_chat_room_cbs_set_chat_message_received(_chatRoomCbs, on_chat_room_chat_message_received); - linphone_chat_room_cbs_set_chat_message_sent(_chatRoomCbs, on_chat_room_chat_message_sent); - linphone_chat_room_cbs_set_is_composing_received(_chatRoomCbs, on_chat_room_is_composing_received); - linphone_chat_room_cbs_set_user_data(_chatRoomCbs, (__bridge void*)self); - linphone_chat_room_add_callbacks(_chatRoom, _chatRoomCbs); + if (!_chatRoomCbs) { + _chatRoomCbs = linphone_factory_create_chat_room_cbs(linphone_factory_get()); + linphone_chat_room_cbs_set_state_changed(_chatRoomCbs, on_chat_room_state_changed); + linphone_chat_room_cbs_set_subject_changed(_chatRoomCbs, on_chat_room_subject_changed); + linphone_chat_room_cbs_set_participant_added(_chatRoomCbs, on_chat_room_participant_added); + linphone_chat_room_cbs_set_participant_removed(_chatRoomCbs, on_chat_room_participant_removed); + linphone_chat_room_cbs_set_participant_admin_status_changed(_chatRoomCbs, on_chat_room_participant_admin_status_changed); + linphone_chat_room_cbs_set_chat_message_received(_chatRoomCbs, on_chat_room_chat_message_received); + linphone_chat_room_cbs_set_chat_message_sent(_chatRoomCbs, on_chat_room_chat_message_sent); + linphone_chat_room_cbs_set_is_composing_received(_chatRoomCbs, on_chat_room_is_composing_received); + linphone_chat_room_cbs_set_user_data(_chatRoomCbs, (__bridge void*)self); + linphone_chat_room_add_callbacks(_chatRoom, _chatRoomCbs); + } [self updateSuperposedButtons]; if (_tableController.isEditing) [_tableController setEditing:editing]; - //[[_tableController tableView] reloadData]; - BOOL fileSharingEnabled = linphone_core_get_file_transfer_server(LC) != NULL; [_pictureButton setEnabled:fileSharingEnabled];