From a51086c06af0321abf5d29cd8656c8586cc5d774 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Tue, 12 Jul 2022 16:11:22 +0200 Subject: [PATCH] Crash fix on ending a call. --- linphone-app/src/components/call/CallModel.cpp | 6 +++++- .../ui/views/App/Calls/VideoConferenceFullscreen.qml | 2 -- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/linphone-app/src/components/call/CallModel.cpp b/linphone-app/src/components/call/CallModel.cpp index 46599d37b..7662174d3 100644 --- a/linphone-app/src/components/call/CallModel.cpp +++ b/linphone-app/src/components/call/CallModel.cpp @@ -119,7 +119,10 @@ CallModel::~CallModel () { mMagicSearch->removeListener(mSearch); if(mCall){ mCall->removeListener(mCallListener); + mConferenceModel = nullptr;// Ordering deletion. + mConferenceInfoModel = nullptr; mCall->unsetData("call-model"); + mCall = nullptr; } } @@ -217,7 +220,8 @@ QSharedPointer CallModel::getConferenceSharedModel(){ } bool CallModel::isConference () const{ - return mCall->getConference() != nullptr; +// Check status to avoid crash when requesting a conference on an ended call. + return getStatus() != CallStatusEnded && mCall->getConference() != nullptr; } // ----------------------------------------------------------------------------- diff --git a/linphone-app/ui/views/App/Calls/VideoConferenceFullscreen.qml b/linphone-app/ui/views/App/Calls/VideoConferenceFullscreen.qml index b6a16db44..f25601cd9 100644 --- a/linphone-app/ui/views/App/Calls/VideoConferenceFullscreen.qml +++ b/linphone-app/ui/views/App/Calls/VideoConferenceFullscreen.qml @@ -300,8 +300,6 @@ Window { ? conference.callModel.conferenceVideoLayout == LinphoneEnums.ConferenceLayoutGrid || !conference.callModel.videoEnabled? gridComponent : activeSpeakerComponent : activeSpeakerComponent : null - - onSourceComponentChanged: console.log(conference.callModel.conferenceVideoLayout) active: conference.callModel ColumnLayout { anchors.fill: parent