Crash after showing participant devices.

This commit is contained in:
Julien Wadel 2023-04-12 09:15:55 +02:00
parent 411f64e4c0
commit c8b80c4282
3 changed files with 9 additions and 4 deletions

View file

@ -72,12 +72,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- Display of non-Ascii avatar
- Crash on ending call in conference.
- Icon transparency generations on icon.ico
- Remove duplicated nat policies.
- Remove unadmin feature to self because of not fully supported.
- Save Stun/Turn proxy configuration.
- Crash after showing participant devices.
- Display of non-Ascii avatar
- Switch off camera at startup.
- Upgrade Qt to 5.15.12
- Update SDK to 5.2.24 (Fix unresponsive video conference on Mac/Windows)
@ -91,7 +92,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Crash when editing contacts from chat.
- Contacts synchronization on creation.
- Contact menu in secure chats.
- Remove FFMPEG from dependencies as it is no mmore needed.
- Remove FFMPEG from dependencies as it is no more needed.
## 5.0.9 - 2023-01-31

View file

@ -96,6 +96,7 @@ void ParticipantDeviceProxyModel::setCallModel(CallModel * callModel){
auto newSourceModel = new ParticipantDeviceListModel(mCallModel);
connectTo(newSourceModel);
setSourceModel(newSourceModel);
mDeleteSourceModel = true;
emit countChanged();
emit meChanged();
}
@ -106,6 +107,7 @@ void ParticipantDeviceProxyModel::setParticipant(ParticipantModel * participant)
auto newSourceModel = participant->getParticipantDevices().get();
connectTo(newSourceModel);
setSourceModel(newSourceModel);
mDeleteSourceModel = false;
emit countChanged();
emit meChanged();
}

View file

@ -37,7 +37,8 @@ ParticipantModel::ParticipantModel (shared_ptr<linphone::Participant> linphonePa
mAdminStatus = false;
if(mParticipant){
mAdminStatus = mParticipant->isAdmin();
mParticipantDevices = QSharedPointer<ParticipantDeviceListModel>::create(mParticipant);
mParticipantDevices = QSharedPointer<ParticipantDeviceListModel>::create(mParticipant, nullptr);
App::getInstance()->getEngine()->setObjectOwnership(mParticipantDevices.get(), QQmlEngine::CppOwnership);// Managed by QSharedPointer
connect(this, &ParticipantModel::deviceSecurityLevelChanged, mParticipantDevices.get(), &ParticipantDeviceListModel::securityLevelChanged);
}
}
@ -107,7 +108,8 @@ void ParticipantModel::setParticipant(std::shared_ptr<linphone::Participant> par
mParticipant = participant;
if(mParticipant){
mAdminStatus = mParticipant->isAdmin();
mParticipantDevices = QSharedPointer<ParticipantDeviceListModel>::create(mParticipant);
mParticipantDevices = QSharedPointer<ParticipantDeviceListModel>::create(mParticipant, nullptr);
App::getInstance()->getEngine()->setObjectOwnership(mParticipantDevices.get(), QQmlEngine::CppOwnership);// Managed by QSharedPointer
connect(this, &ParticipantModel::deviceSecurityLevelChanged, mParticipantDevices.get(), &ParticipantDeviceListModel::securityLevelChanged);
}
emit invitingChanged();