From 3bd6e35e301c828b464d571a4f576da699546395 Mon Sep 17 00:00:00 2001 From: samcake Date: Wed, 27 Sep 2017 15:19:21 -0700 Subject: [PATCH] Fixing the broken on hud overlay's render transform --- interface/src/ui/overlays/Base3DOverlay.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/interface/src/ui/overlays/Base3DOverlay.cpp b/interface/src/ui/overlays/Base3DOverlay.cpp index 9afab80243..714723e48e 100644 --- a/interface/src/ui/overlays/Base3DOverlay.cpp +++ b/interface/src/ui/overlays/Base3DOverlay.cpp @@ -270,10 +270,10 @@ void Base3DOverlay::update(float duration) { // then the correct transform used for rendering is computed in the update transaction and assigned. if (_renderTransformDirty) { auto itemID = getRenderItemID(); + // Capture the render transform value in game loop before + auto latestTransform = evalRenderTransform(); + _renderTransformDirty = false; if (render::Item::isValidID(itemID)) { - _renderTransformDirty = false; - // Capture the render transform value in game loop before - auto latestTransform = evalRenderTransform(); render::ScenePointer scene = qApp->getMain3DScene(); render::Transaction transaction; transaction.updateItem(itemID, [latestTransform](Overlay& data) { @@ -282,7 +282,9 @@ void Base3DOverlay::update(float duration) { overlay3D->setRenderTransform(latestTransform); } }); - scene->enqueueTransaction(transaction); + scene->enqueueTransaction(transaction); + } else { + setRenderTransform(latestTransform); } } }