mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-04-24 09:28:40 +00:00
Fixed proxy chat room not being notified of Created state when we fallback to a basic chat room
This commit is contained in:
parent
0bf5362bf0
commit
8b5c4e0305
1 changed files with 6 additions and 1 deletions
|
|
@ -79,10 +79,15 @@ public:
|
||||||
cgcr->getPrivate()->setCallSessionListener(nullptr);
|
cgcr->getPrivate()->setCallSessionListener(nullptr);
|
||||||
cgcr->getPrivate()->setChatRoomListener(nullptr);
|
cgcr->getPrivate()->setChatRoomListener(nullptr);
|
||||||
Core::deleteChatRoom(q->getSharedFromThis());
|
Core::deleteChatRoom(q->getSharedFromThis());
|
||||||
setupProxy();
|
|
||||||
LinphoneChatRoom *lcr = L_GET_C_BACK_PTR(q);
|
LinphoneChatRoom *lcr = L_GET_C_BACK_PTR(q);
|
||||||
shared_ptr<AbstractChatRoom> bcr = cgcr->getCore()->getOrCreateBasicChatRoom(invitedAddresses.front());
|
shared_ptr<AbstractChatRoom> bcr = cgcr->getCore()->getOrCreateBasicChatRoom(invitedAddresses.front());
|
||||||
L_SET_CPP_PTR_FROM_C_OBJECT(lcr, bcr);
|
L_SET_CPP_PTR_FROM_C_OBJECT(lcr, bcr);
|
||||||
|
/* getOrCreateBasicChatRoom will automatically set the state to Instantiated and Created
|
||||||
|
* but because CPP ptr hasn't been set yet in this case the application's ChatRoom won't be notified
|
||||||
|
* that's why we set both states again here... */
|
||||||
|
bcr->getPrivate()->setState(ChatRoom::State::Instantiated);
|
||||||
|
bcr->getPrivate()->setState(ChatRoom::State::Created);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
cgcr->getPrivate()->onCallSessionStateChanged(session, newState, message);
|
cgcr->getPrivate()->onCallSessionStateChanged(session, newState, message);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue