diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h
index 4f4129e462..dbd8e7c2c6 100644
--- a/interface/src/avatar/MyAvatar.h
+++ b/interface/src/avatar/MyAvatar.h
@@ -1217,8 +1217,6 @@ public:
* @function MyAvatar.getTargetAvatar
* @returns {ScriptAvatar} Information on the avatar being looked at, null
if no avatar is being looked at.
*/
- // FIXME: The return type doesn't have a conversion to a script value so the function always returns undefined in
- // JavaScript. Note: When fixed, JSDoc is needed for the return type.
Q_INVOKABLE ScriptAvatarData* getTargetAvatar() const;
diff --git a/libraries/avatars/src/ScriptAvatarData.cpp b/libraries/avatars/src/ScriptAvatarData.cpp
index 0ca1143aa7..f66af03506 100644
--- a/libraries/avatars/src/ScriptAvatarData.cpp
+++ b/libraries/avatars/src/ScriptAvatarData.cpp
@@ -29,7 +29,7 @@ bool avatarDataFromScriptValue(const ScriptValue& object, ScriptAvatarData*& out
STATIC_SCRIPT_TYPES_INITIALIZER((+[](ScriptManager* manager) {
auto scriptEngine = manager->engine().get();
- scriptRegisterMetaType(scriptEngine);
+ scriptRegisterMetaType(scriptEngine, "ScriptAvatarData*");
}));
ScriptAvatarData::ScriptAvatarData(AvatarSharedPointer avatarData) :
diff --git a/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js b/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js
index c073a06589..b7caf01736 100644
--- a/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js
+++ b/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js
@@ -148,8 +148,9 @@ function getAvatarData(uuid) {
var avatarInfo = avatar.avatarInfo;
var newAvatarInfo = AvatarManager.getAvatar(uuid);
+
// Save the username so it doesn't get overwritten when grabbing new avatarData
- var combinedAvatarInfo = Object.assign({}, newAvatarInfo, {
+ var combinedAvatarInfo = Object.assign({}, {avatarData: newAvatarInfo}, {
username: avatarInfo === null ? null : avatarInfo.username
});
@@ -168,7 +169,7 @@ function getDistance(uuid, checkAvatar, shouldSave) {
var avatar = _this.avatars[uuid];
var avatarInfo = avatar.avatarInfo;
- var target = avatarInfo.position;
+ var target = avatarInfo.avatarData.position;
var currentDistance = Vec3.distance(target, eye);
@@ -304,7 +305,7 @@ function getCorrectName(uuid) {
var avatar = _this.avatars[uuid];
var avatarInfo = avatar.avatarInfo;
- var displayNameToUse = avatarInfo.displayName.trim();
+ var displayNameToUse = avatarInfo.avatarData.displayName.trim();
if (displayNameToUse === "") {
displayNameToUse = "anonymous";
@@ -744,4 +745,4 @@ nameTagListManager.prototype = {
};
-module.exports = nameTagListManager;
\ No newline at end of file
+module.exports = nameTagListManager;