From 00b47cacea4b3af8f8d743f32f1db6b2d828dacc Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Tue, 22 Dec 2015 09:59:57 -0800 Subject: [PATCH] Fix crash when getting MyAvatar.sessionUUID from AvatarManager The previous code inadvertently added a default constructed shared pointer to the avatar hash, causing it to crash when dereferencing it in the update loop. --- interface/src/avatar/AvatarManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interface/src/avatar/AvatarManager.cpp b/interface/src/avatar/AvatarManager.cpp index 312742e778..217cd28e61 100644 --- a/interface/src/avatar/AvatarManager.cpp +++ b/interface/src/avatar/AvatarManager.cpp @@ -310,8 +310,8 @@ QVector AvatarManager::getAvatarIdentifiers() { } AvatarData* AvatarManager::getAvatar(QUuid avatarID) { - QReadLocker locker(&_hashLock); - return _avatarHash[avatarID].get(); // Non-obvious: A bogus avatarID answers your own avatar. + // Null/Default-constructed QUuids will return MyAvatar + return getAvatarBySessionID(avatarID).get(); }