try to fix crash in chatrooms
This commit is contained in:
parent
b79b324027
commit
d24cef5e17
2 changed files with 15 additions and 8 deletions
|
|
@ -49,12 +49,14 @@ ChatCore::ChatCore(const std::shared_ptr<linphone::ChatRoom> &chatRoom) : QObjec
|
||||||
} else {
|
} else {
|
||||||
if (chatRoom->hasCapability((int)linphone::ChatRoom::Capabilities::OneToOne)) {
|
if (chatRoom->hasCapability((int)linphone::ChatRoom::Capabilities::OneToOne)) {
|
||||||
auto participants = chatRoom->getParticipants();
|
auto participants = chatRoom->getParticipants();
|
||||||
auto peer = participants.front();
|
if (participants.size() > 0) {
|
||||||
if (peer) mTitle = ToolModel::getDisplayName(peer->getAddress()->clone());
|
auto peer = participants.front();
|
||||||
mAvatarUri = ToolModel::getDisplayName(peer->getAddress()->clone());
|
if (peer) mTitle = ToolModel::getDisplayName(peer->getAddress()->clone());
|
||||||
if (participants.size() == 1) {
|
mAvatarUri = ToolModel::getDisplayName(peer->getAddress()->clone());
|
||||||
auto peerAddress = peer->getAddress();
|
if (participants.size() == 1) {
|
||||||
if (peerAddress) mPeerAddress = Utils::coreStringToAppString(peerAddress->asStringUriOnly());
|
auto peerAddress = peer->getAddress();
|
||||||
|
if (peerAddress) mPeerAddress = Utils::coreStringToAppString(peerAddress->asStringUriOnly());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (chatRoom->hasCapability((int)linphone::ChatRoom::Capabilities::Conference)) {
|
} else if (chatRoom->hasCapability((int)linphone::ChatRoom::Capabilities::Conference)) {
|
||||||
mTitle = Utils::coreStringToAppString(chatRoom->getSubject());
|
mTitle = Utils::coreStringToAppString(chatRoom->getSubject());
|
||||||
|
|
|
||||||
|
|
@ -63,8 +63,13 @@ QString ChatModel::getTitle() {
|
||||||
return ToolModel::getDisplayName(mMonitor->getPeerAddress()->clone());
|
return ToolModel::getDisplayName(mMonitor->getPeerAddress()->clone());
|
||||||
} else {
|
} else {
|
||||||
if (mMonitor->hasCapability((int)linphone::ChatRoom::Capabilities::OneToOne)) {
|
if (mMonitor->hasCapability((int)linphone::ChatRoom::Capabilities::OneToOne)) {
|
||||||
auto peer = mMonitor->getParticipants().front();
|
auto participants = mMonitor->getParticipants();
|
||||||
return peer ? ToolModel::getDisplayName(peer->getAddress()->clone()) : "Chat";
|
if (participants.size() > 0) {
|
||||||
|
auto peer = participants.front();
|
||||||
|
return peer ? ToolModel::getDisplayName(peer->getAddress()->clone()) : "";
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
} else if (mMonitor->hasCapability((int)linphone::ChatRoom::Capabilities::Conference)) {
|
} else if (mMonitor->hasCapability((int)linphone::ChatRoom::Capabilities::Conference)) {
|
||||||
return Utils::coreStringToAppString(mMonitor->getSubject());
|
return Utils::coreStringToAppString(mMonitor->getSubject());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue