make sure ignoredNode is available before sending packet

This commit is contained in:
Stephen Birarda 2018-09-06 16:04:54 -07:00
parent 07b24b4768
commit a908c1554f

View file

@ -655,11 +655,14 @@ void AvatarMixer::handleNodeIgnoreRequestPacket(QSharedPointer<ReceivedMessage>
if (addToIgnore) { if (addToIgnore) {
senderNode->addIgnoredNode(ignoredUUID); senderNode->addIgnoredNode(ignoredUUID);
// send a reliable kill packet to remove the sending avatar for the ignored avatar if (ignoredNode) {
auto killPacket = NLPacket::create(PacketType::KillAvatar, NUM_BYTES_RFC4122_UUID + sizeof(KillAvatarReason), true); // send a reliable kill packet to remove the sending avatar for the ignored avatar
killPacket->write(senderNode->getUUID().toRfc4122()); auto killPacket = NLPacket::create(PacketType::KillAvatar,
killPacket->writePrimitive(KillAvatarReason::AvatarDisconnected); NUM_BYTES_RFC4122_UUID + sizeof(KillAvatarReason), true);
nodeList->sendPacket(std::move(killPacket), *ignoredNode); killPacket->write(senderNode->getUUID().toRfc4122());
killPacket->writePrimitive(KillAvatarReason::AvatarDisconnected);
nodeList->sendPacket(std::move(killPacket), *ignoredNode);
}
} else { } else {
senderNode->removeIgnoredNode(ignoredUUID); senderNode->removeIgnoredNode(ignoredUUID);
} }