diff --git a/assignment-client/src/AssignmentClientMonitor.cpp b/assignment-client/src/AssignmentClientMonitor.cpp index 9190b9be3e..0a39d80a61 100644 --- a/assignment-client/src/AssignmentClientMonitor.cpp +++ b/assignment-client/src/AssignmentClientMonitor.cpp @@ -203,7 +203,7 @@ void AssignmentClientMonitor::checkSpares() { } void AssignmentClientMonitor::handleChildStatusPacket(QSharedPointer packet) { - QUuid senderID = QUuid::fromRfc4122(QByteArray::fromRawData(packet->getData(), NUM_BYTES_RFC4122_UUID)); + QUuid senderID = QUuid::fromRfc4122(QByteArray::fromRawData(packet->getPayload(), NUM_BYTES_RFC4122_UUID)); auto nodeList = DependencyManager::get(); diff --git a/assignment-client/src/avatars/AvatarMixerClientData.cpp b/assignment-client/src/avatars/AvatarMixerClientData.cpp index 00ec6ad220..de2e1ac143 100644 --- a/assignment-client/src/avatars/AvatarMixerClientData.cpp +++ b/assignment-client/src/avatars/AvatarMixerClientData.cpp @@ -15,7 +15,9 @@ int AvatarMixerClientData::parseData(NLPacket& packet) { // compute the offset to the data payload - return _avatar.parseDataFromBuffer(QByteArray::fromRawData(packet.getPayload(), packet.getPayloadSize())); + QByteArray byteArray = QByteArray::fromRawData(packet.getPayload() + packet.pos(), + packet.bytesLeftToRead()); + return _avatar.parseDataFromBuffer(byteArray); } bool AvatarMixerClientData::checkAndSetHasReceivedFirstPackets() { diff --git a/libraries/avatars/src/AvatarHashMap.cpp b/libraries/avatars/src/AvatarHashMap.cpp index 2ad997c306..3243ff3f9a 100644 --- a/libraries/avatars/src/AvatarHashMap.cpp +++ b/libraries/avatars/src/AvatarHashMap.cpp @@ -61,6 +61,8 @@ void AvatarHashMap::processAvatarDataPacket(QSharedPointer packet, Sha while (packet->bytesLeftToRead()) { QUuid sessionUUID = QUuid::fromRfc4122(packet->read(NUM_BYTES_RFC4122_UUID)); + QByteArray byteArray = QByteArray::fromRawData(packet->getPayload() + packet->pos(), + packet->bytesLeftToRead()); if (sessionUUID != _lastOwnerSessionUUID) { AvatarSharedPointer avatar = _avatarHash.value(sessionUUID); if (!avatar) { @@ -68,12 +70,12 @@ void AvatarHashMap::processAvatarDataPacket(QSharedPointer packet, Sha } // have the matching (or new) avatar parse the data from the packet - int bytesRead = avatar->parseDataFromBuffer(QByteArray::fromRawData(packet->getPayload(), packet->pos())); + int bytesRead = avatar->parseDataFromBuffer(byteArray); packet->seek(packet->pos() + bytesRead); } else { // create a dummy AvatarData class to throw this data on the ground AvatarData dummyData; - int bytesRead = dummyData.parseDataFromBuffer(QByteArray::fromRawData(packet->getPayload(), packet->pos())); + int bytesRead = dummyData.parseDataFromBuffer(byteArray); packet->seek(packet->pos() + bytesRead); } }