From 733b0feabddacdb68e8f49a42476377f50472cf3 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Wed, 17 May 2017 08:17:33 +1200 Subject: [PATCH 1/2] Fix attachment data not getting cleared --- libraries/avatars/src/AvatarData.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 26afed152f..32fe4cfef7 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -2086,14 +2086,16 @@ void AvatarData::fromJson(const QJsonObject& json, bool useFrameSkeleton) { setTargetScale((float)json[JSON_AVATAR_SCALE].toDouble()); } + QVector attachments; if (json.contains(JSON_AVATAR_ATTACHMENTS) && json[JSON_AVATAR_ATTACHMENTS].isArray()) { QJsonArray attachmentsJson = json[JSON_AVATAR_ATTACHMENTS].toArray(); - QVector attachments; for (auto attachmentJson : attachmentsJson) { AttachmentData attachment; attachment.fromJson(attachmentJson.toObject()); attachments.push_back(attachment); } + } + if (attachments != getAttachmentData()) { setAttachmentData(attachments); } From 7897bf8aa873d32235d3f2669b24cf3d8374d7b5 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Wed, 17 May 2017 08:17:55 +1200 Subject: [PATCH 2/2] Fix display name not getting cleared --- libraries/avatars/src/AvatarData.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 32fe4cfef7..bee1168dcc 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -2052,11 +2052,13 @@ void AvatarData::fromJson(const QJsonObject& json, bool useFrameSkeleton) { setSkeletonModelURL(bodyModelURL); } } + + QString newDisplayName = ""; if (json.contains(JSON_AVATAR_DISPLAY_NAME)) { - auto newDisplayName = json[JSON_AVATAR_DISPLAY_NAME].toString(); - if (newDisplayName != getDisplayName()) { - setDisplayName(newDisplayName); - } + newDisplayName = json[JSON_AVATAR_DISPLAY_NAME].toString(); + } + if (newDisplayName != getDisplayName()) { + setDisplayName(newDisplayName); } auto currentBasis = getRecordingBasis();