forked from mirrors/linphone-iphone
Acquire a new reference to the chat message if old reference is nil
This commit is contained in:
parent
c47a50f5d1
commit
4c93d335ff
1 changed files with 12 additions and 7 deletions
|
|
@ -119,16 +119,21 @@
|
|||
}
|
||||
|
||||
- (void)setChatMessageForCbs:(LinphoneChatMessage *)amessage {
|
||||
if (!amessage || amessage == _message) {
|
||||
if (amessage == _message) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (_message){
|
||||
linphone_chat_message_unref(_message);
|
||||
}
|
||||
_message = amessage;
|
||||
linphone_chat_message_set_user_data(_message, (void *)CFBridgingRetain(self));
|
||||
LinphoneChatMessageCbs *cbs = linphone_chat_message_get_callbacks(_message);
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs, message_status);
|
||||
linphone_chat_message_cbs_set_participant_imdn_state_changed(cbs, participant_imdn_status);
|
||||
linphone_chat_message_cbs_set_user_data(cbs, (void *)_event);
|
||||
if (amessage){
|
||||
linphone_chat_message_ref(amessage);
|
||||
linphone_chat_message_set_user_data(_message, (void *)CFBridgingRetain(self));
|
||||
LinphoneChatMessageCbs *cbs = linphone_chat_message_get_callbacks(_message);
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs, message_status);
|
||||
linphone_chat_message_cbs_set_participant_imdn_state_changed(cbs, participant_imdn_status);
|
||||
linphone_chat_message_cbs_set_user_data(cbs, (void *)_event);
|
||||
}
|
||||
}
|
||||
|
||||
+ (NSString *)TextMessageForChat:(LinphoneChatMessage *)message {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue