From 559ac6786d14b3c406d6baa17bf86b79b795ca78 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Fri, 8 Sep 2017 11:44:06 -0700 Subject: [PATCH] Fix MyAvatar getting stuck in T-pose on loading Before this change, there was a race condition between the main thread calling Model::initWhenReady, and the render thread calling Avatar::fixupModelsInScene(). They both would end up setting the Model::_addedToScene flag. This race caused Model::initWhenReady() to never return true, which resulted in the MyAvatar class never initializing the animation system. --- libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp b/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp index 7f4ebf39e1..bc6bb2a0ec 100644 --- a/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp +++ b/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp @@ -648,7 +648,9 @@ void Avatar::render(RenderArgs* renderArgs) { return; } - fixupModelsInScene(renderArgs->_scene); + if (!isMyAvatar()) { + fixupModelsInScene(renderArgs->_scene); + } if (showCollisionShapes && shouldRenderHead(renderArgs) && _skeletonModel->isRenderable()) { PROFILE_RANGE_BATCH(batch, __FUNCTION__":skeletonBoundingCollisionShapes");