1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

fix: two crashes, uncovered by the persistent groupchat patch

This commit is contained in:
sudden6 2018-05-01 22:32:04 +02:00
parent 498c04ba50
commit 48179b6a19
No known key found for this signature in database
GPG Key ID: 279509B499E032B9
2 changed files with 9 additions and 3 deletions

View File

@ -224,6 +224,11 @@ void GroupChatForm::updateUserNames()
peerLabels.clear();
const int peersCount = group->getPeersCount();
// no need to do anything without a peer
if (peersCount == 0) {
return;
}
peerLabels.reserve(peersCount);
QVector<QLabel*> nickLabelList(peersCount);
@ -245,9 +250,9 @@ void GroupChatForm::updateUserNames()
if (group->isSelfPeerNumber(peerNumber)) {
label->setStyleSheet(QStringLiteral("QLabel {color : green;}"));
} else if (s.getBlackList().contains(peerPk.toString())) {
} else if (s.getBlackList().contains(peerPk.toString())) {
label->setStyleSheet(QStringLiteral("QLabel {color : darkRed;}"));
} else if (netcam != nullptr) {
} else if (netcam != nullptr) {
static_cast<GroupNetCamView*>(netcam)->addPeer(peerNumber, fullName);
}
peerLabels.append(label);
@ -262,6 +267,7 @@ void GroupChatForm::updateUserNames()
{
return a->text().toLower() < b->text().toLower();
});
// remove comma from last sorted label
QLabel* const lastLabel = nickLabelList.last();
QString labelText = lastLabel->text();

View File

@ -1869,8 +1869,8 @@ void Widget::removeGroup(Group* g, bool fake)
qWarning() << "Tried to remove group" << groupId << "but GroupChatForm doesn't exist";
return;
}
groupChatForms.erase(groupChatFormIt);
delete groupChatFormIt.value();
groupChatForms.erase(groupChatFormIt);
delete g;
if (contentLayout && contentLayout->mainHead->layout()->isEmpty()) {
onAddClicked();