diff --git a/libraries/entities/src/EntityItemProperties.cpp b/libraries/entities/src/EntityItemProperties.cpp index 2ea8e5f578..e75fa8104f 100644 --- a/libraries/entities/src/EntityItemProperties.cpp +++ b/libraries/entities/src/EntityItemProperties.cpp @@ -798,7 +798,7 @@ bool EntityItemProperties::decodeEntityEditPacket(const unsigned char* data, int READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_COLLISIONS_WILL_MOVE, bool, setCollisionsWillMove); READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_LOCKED, bool, setLocked); READ_ENTITY_PROPERTY_STRING_TO_PROPERTIES(PROP_USER_DATA, setUserData); - READ_ENTITY_PROPERTY_STRING_TO_PROPERTIES(PROP_SIMULATOR_ID, setSimulatorID); + READ_ENTITY_PROPERTY_UUID_TO_PROPERTIES(PROP_SIMULATOR_ID, setSimulatorID); if (properties.getType() == EntityTypes::Text) { READ_ENTITY_PROPERTY_STRING_TO_PROPERTIES(PROP_TEXT, setText); diff --git a/libraries/entities/src/EntityItemPropertiesMacros.h b/libraries/entities/src/EntityItemPropertiesMacros.h index 283d09b4be..ff66a16c6b 100644 --- a/libraries/entities/src/EntityItemPropertiesMacros.h +++ b/libraries/entities/src/EntityItemPropertiesMacros.h @@ -145,14 +145,15 @@ } -// TODO: make a version of this that does a binary unpacking of the uuid +// TODO: this doesn't need a length. See OctreePacketData::appendValue(const QUuid& uuid) #define READ_ENTITY_PROPERTY_UUID_TO_PROPERTIES(P,O) \ if (propertyFlags.getHasProperty(P)) { \ uint16_t length; \ memcpy(&length, dataAt, sizeof(length)); \ dataAt += sizeof(length); \ processedBytes += sizeof(length); \ - QUuid value((const char*)dataAt); \ + QByteArray ba((const char*)dataAt, length); \ + QUuid value = QUuid::fromRfc4122(ba); \ dataAt += length; \ processedBytes += length; \ properties.O(value); \