From ccf78595cb9bfaff9713c54529c7066cd7718ede Mon Sep 17 00:00:00 2001 From: Danmei Chen Date: Tue, 9 Mar 2021 17:22:28 +0100 Subject: [PATCH] try to fix stop_and_destroy twice the same file transfer --- Classes/Utils/FileTransferDelegate.m | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Classes/Utils/FileTransferDelegate.m b/Classes/Utils/FileTransferDelegate.m index 542ff5bc5..618a23ac9 100644 --- a/Classes/Utils/FileTransferDelegate.m +++ b/Classes/Utils/FileTransferDelegate.m @@ -139,6 +139,10 @@ static LinphoneBuffer *linphone_iphone_file_transfer_send(LinphoneChatMessage *m } - (void)uploadData:(NSData *)data forChatRoom:(LinphoneChatRoom *)chatRoom type:(NSString *)type subtype:(NSString *)subtype name:(NSString *)name key:(NSString *)key{ + if ([[LinphoneManager.instance fileTransferDelegates] containsObject:self]) { + LOGW(@"fileTransferDelegates has already added %p", self); + return; + } [LinphoneManager.instance.fileTransferDelegates addObject:self]; LinphoneContent *content = linphone_core_create_content(linphone_chat_room_get_core(chatRoom)); @@ -185,6 +189,10 @@ static LinphoneBuffer *linphone_iphone_file_transfer_send(LinphoneChatMessage *m } - (BOOL)download:(LinphoneChatMessage *)message { + if ([[LinphoneManager.instance fileTransferDelegates] containsObject:self]) { + LOGW(@"fileTransferDelegates has already added %p", self); + return FALSE; + } [[LinphoneManager.instance fileTransferDelegates] addObject:self]; _message = message;