mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 05:44:44 +02:00
repairs for dead listener checks
This commit is contained in:
parent
f4ade0ee8e
commit
47a05bd3ec
1 changed files with 12 additions and 3 deletions
|
@ -230,7 +230,7 @@ void PacketReceiver::handleVerifiedPacket(std::unique_ptr<udt::Packet> packet) {
|
||||||
|
|
||||||
auto listener = it.value();
|
auto listener = it.value();
|
||||||
|
|
||||||
if (listener.first && it->second.isValid()) {
|
if (listener.first) {
|
||||||
|
|
||||||
bool success = false;
|
bool success = false;
|
||||||
|
|
||||||
|
@ -273,12 +273,21 @@ void PacketReceiver::handleVerifiedPacket(std::unique_ptr<udt::Packet> packet) {
|
||||||
Q_ARG(QSharedPointer<NLPacket>,
|
Q_ARG(QSharedPointer<NLPacket>,
|
||||||
QSharedPointer<NLPacket>(nlPacket.release())));
|
QSharedPointer<NLPacket>(nlPacket.release())));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
listenerIsDead = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
emit dataReceived(NodeType::Unassigned, nlPacket->getDataSize());
|
emit dataReceived(NodeType::Unassigned, nlPacket->getDataSize());
|
||||||
|
|
||||||
success = listener.second.invoke(listener.first,
|
// one final check on the QPointer before we invoke
|
||||||
Q_ARG(QSharedPointer<NLPacket>, QSharedPointer<NLPacket>(nlPacket.release())));
|
if (listener.first) {
|
||||||
|
success = listener.second.invoke(listener.first,
|
||||||
|
Q_ARG(QSharedPointer<NLPacket>,
|
||||||
|
QSharedPointer<NLPacket>(nlPacket.release())));
|
||||||
|
} else {
|
||||||
|
listenerIsDead = true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!success) {
|
if (!success) {
|
||||||
|
|
Loading…
Reference in a new issue