diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 0217136a0c..af3a449114 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1202,8 +1202,11 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo auto entityScriptingInterface = DependencyManager::get(); connect(entityScriptingInterface.data(), &EntityScriptingInterface::clickDownOnEntity, [this](const EntityItemID& entityItemID, const PointerEvent& event) { - setKeyboardFocusOverlay(UNKNOWN_OVERLAY_ID); - setKeyboardFocusEntity(entityItemID); + auto entity = getEntities()->getTree()->findEntityByID(entityItemID); + if (entity && entity->wantsKeyboardFocus()) { + setKeyboardFocusOverlay(UNKNOWN_OVERLAY_ID); + setKeyboardFocusEntity(entityItemID); + } }); connect(entityScriptingInterface.data(), &EntityScriptingInterface::deletingEntity, [=](const EntityItemID& entityItemID) { @@ -4165,6 +4168,8 @@ void Application::setKeyboardFocusOverlay(unsigned int overlayID) { auto size = overlay->getSize() * FOCUS_HIGHLIGHT_EXPANSION_FACTOR; const float OVERLAY_DEPTH = 0.0105f; setKeyboardFocusHighlight(overlay->getPosition(), overlay->getRotation(), glm::vec3(size.x, size.y, OVERLAY_DEPTH)); + } else if (_keyboardFocusHighlight) { + _keyboardFocusHighlight->setVisible(false); } } }