diff --git a/linphone-app/src/components/core/CoreHandlers.cpp b/linphone-app/src/components/core/CoreHandlers.cpp index 1a1669f77..af35c824c 100644 --- a/linphone-app/src/components/core/CoreHandlers.cpp +++ b/linphone-app/src/components/core/CoreHandlers.cpp @@ -160,8 +160,9 @@ void CoreHandlers::onCallStatsUpdated ( const shared_ptr &call, const shared_ptr &stats ) { - if(call->dataExists("call-model")) + if(call && call->dataExists("call-model")) { call->getData("call-model").updateStats(stats); + } } void CoreHandlers::onCallCreated(const shared_ptr &, diff --git a/linphone-app/ui/views/App/Calls/Incall.qml b/linphone-app/ui/views/App/Calls/Incall.qml index 504aa8261..ef83a4384 100644 --- a/linphone-app/ui/views/App/Calls/Incall.qml +++ b/linphone-app/ui/views/App/Calls/Incall.qml @@ -290,7 +290,7 @@ Rectangle { isCustom: true backgroundRadius: width/2 colorSet: IncallStyle.buttons.fullscreen - visible: mainItem.callModel.videoEnabled + visible: mainItem.callModel.videoEnabled && mainItem.isReady onClicked: { console.info("[QML] User request fullscreen") Logic.showFullscreen(window, mainItem, 'IncallFullscreen.qml', title.mapToGlobal(0,0)) diff --git a/linphone-app/ui/views/App/Calls/IncallFullscreen.qml b/linphone-app/ui/views/App/Calls/IncallFullscreen.qml index 11093efe8..32508112e 100644 --- a/linphone-app/ui/views/App/Calls/IncallFullscreen.qml +++ b/linphone-app/ui/views/App/Calls/IncallFullscreen.qml @@ -25,11 +25,19 @@ Window { // --------------------------------------------------------------------------- property alias callModel: conference.callModel + property ConferenceModel conferenceModel: callModel && callModel.conferenceModel property var caller property bool hideButtons: !hideButtonsTimer.realRunning property bool cameraIsReady : false property bool previewIsReady : false - + property bool isReady : window.callModel && window.callModel.status != CallModel.CallStatusIdle + && (!window.callModel.isConference + || (window.conferenceModel && window.conferenceModel.isReady) + ) && conferenceLayout.item && conferenceLayout.status == Loader.Ready + onIsReadyChanged: if(!isRead) { + console.info('[QML] Call becomes not ready : exit fullscreen') + window.exit() + } // --------------------------------------------------------------------------- function exit (cb) { diff --git a/linphone-sdk b/linphone-sdk index c4fbe81da..a3943b61b 160000 --- a/linphone-sdk +++ b/linphone-sdk @@ -1 +1 @@ -Subproject commit c4fbe81daaa62875021ab44a85b48966619e0943 +Subproject commit a3943b61b841fd7226dd495cd28ff0ecbbafc2a2