From 2c4815460b42e61b276d5e596bd8a2df08dec628 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Mon, 17 Jan 2022 10:48:56 +0100 Subject: [PATCH] Fix crash on using peer address when not available --- .../components/chat-room/ChatRoomModel.cpp | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/linphone-app/src/components/chat-room/ChatRoomModel.cpp b/linphone-app/src/components/chat-room/ChatRoomModel.cpp index 2f53bb3ef..717feb4ad 100644 --- a/linphone-app/src/components/chat-room/ChatRoomModel.cpp +++ b/linphone-app/src/components/chat-room/ChatRoomModel.cpp @@ -535,9 +535,23 @@ QList ChatRoomModel::getComposers(){ } QString ChatRoomModel::getParticipantAddress(){ - if(!isSecure()) - return Utils::coreStringToAppString(mChatRoom->getPeerAddress()->asString()); - else{ + if(!isSecure()){ + auto peerAddress = mChatRoom->getPeerAddress(); + if( peerAddress) + return Utils::coreStringToAppString(peerAddress->asString()); + else if(isConference()){ + auto conferenceAddress = mChatRoom->getConferenceAddress(); + if( conferenceAddress) + return Utils::coreStringToAppString(conferenceAddress->asString()); + else{ + qWarning() << "ConferenceAddress is NULL when requesting it from not secure and conference ChatRoomModel :" << mChatRoom.get(); + return ""; + } + }else { + qWarning() << "PeerAddress is NULL when requesting it from not secure ChatRoomModel :" << mChatRoom.get(); + return ""; + } + }else{ auto participants = getParticipants(); if(participants->getCount() > 1) return participants->getAt(1)->getSipAddress();