diff --git a/src/calladapter.cpp b/src/calladapter.cpp index c57c3e5e6702453196edf14f67885304348cb257..3a42941557e5003832dec15e0cac33fcf4d00c7c 100644 --- a/src/calladapter.cpp +++ b/src/calladapter.cpp @@ -478,8 +478,7 @@ CallAdapter::onShowIncomingCallView(const QString& accountId, const QString& con void CallAdapter::onShowCallView(const QString& accountId, const QString& convUid) { - updateCall(convUid, accountId); - Q_EMIT lrcInstance_->conversationUpdated(convUid, accountId); + Q_EMIT lrcInstance_->conversationUpdated(convUid, accountId); // This will show the call } void @@ -489,8 +488,7 @@ CallAdapter::updateCall(const QString& convUid, const QString& accountId, bool f return; accountId_ = accountId.isEmpty() ? accountId_ : accountId; - const auto& convInfo = lrcInstance_->getConversationFromConvUid( - lrcInstance_->get_selectedConvUid()); + const auto& convInfo = lrcInstance_->getConversationFromConvUid(convUid); if (convInfo.uid.isEmpty()) { return; } diff --git a/src/mainview/components/ParticipantsLayer.qml b/src/mainview/components/ParticipantsLayer.qml index 879443115ae0a735b15a5cfc6aa42eec7f4053a2..6d0599f056ecdd7cc8f850b1d37958bc4da064cf 100644 --- a/src/mainview/components/ParticipantsLayer.qml +++ b/src/mainview/components/ParticipantsLayer.qml @@ -192,7 +192,16 @@ Item { model: GenericParticipantsFilterModel delegate: Loader { sourceComponent: callVideoMedia - visible: inLine ? index >= genericParticipantsRect.currentPos && index < genericParticipantsRect.currentPos + genericParticipantsRect.showable : true + active: root.visible + asynchronous: true + visible: { + if (status !== Loader.Ready) + return false + if (inLine) + return index >= genericParticipantsRect.currentPos + && index < genericParticipantsRect.currentPos + genericParticipantsRect.showable + return true + } width: { var lastLine = commonParticipants.count % commonParticipantsFlow.columns var horComponents = ((commonParticipants.count - index) > lastLine || index < 0) ? commonParticipantsFlow.columns : lastLine @@ -244,7 +253,11 @@ Item { model: ActiveParticipantsFilterModel delegate: Loader { + active: root.visible + asynchronous: true sourceComponent: callVideoMedia + visible: status == Loader.Ready + width: Math.ceil(activeParticipantsFlow.width / activeParticipantsFlow.columns) - activeParticipantsFlow.columnsSpacing height: Math.ceil(activeParticipantsFlow.height / activeParticipantsFlow.rows) - activeParticipantsFlow.rowsSpacing