From a5a7f56a32e05b91fc412133e5d51512663b0921 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Tue, 3 Jul 2018 10:24:52 -0700 Subject: [PATCH] Fix crash when editing clientOnly entity with no myAvatar --- libraries/entities/src/EntityEditPacketSender.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libraries/entities/src/EntityEditPacketSender.cpp b/libraries/entities/src/EntityEditPacketSender.cpp index 9ca102d016..0982775b09 100644 --- a/libraries/entities/src/EntityEditPacketSender.cpp +++ b/libraries/entities/src/EntityEditPacketSender.cpp @@ -84,9 +84,15 @@ void EntityEditPacketSender::queueEditEntityMessage(PacketType type, EntityTreePointer entityTree, EntityItemID entityItemID, const EntityItemProperties& properties) { - if (properties.getClientOnly() && properties.getOwningAvatarID() == _myAvatar->getID()) { - // this is an avatar-based entity --> update our avatar-data rather than sending to the entity-server - queueEditAvatarEntityMessage(type, entityTree, entityItemID, properties); + if (properties.getClientOnly()) { + if (!_myAvatar) { + qCWarning(entities) << "Suppressing entity edit message: cannot send clientOnly edit with no myAvatar"; + } else if (properties.getOwningAvatarID() == _myAvatar->getID()) { + // this is an avatar-based entity --> update our avatar-data rather than sending to the entity-server + queueEditAvatarEntityMessage(type, entityTree, entityItemID, properties); + } else { + qCWarning(entities) << "Suppressing entity edit message: cannot send clientOnly edit for another avatar"; + } return; }