diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index f2d4f9edf1..e789b7c508 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -994,7 +994,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : if (_keyboardFocusedItem != entityItemID) { _keyboardFocusedItem = UNKNOWN_ENTITY_ID; auto properties = entityScriptingInterface->getEntityProperties(entityItemID); - if (EntityTypes::Web == properties.getType() && !properties.getLocked()) { + if (EntityTypes::Web == properties.getType() && !properties.getLocked() && properties.getVisible()) { auto entity = entityScriptingInterface->getEntityTree()->findEntityByID(entityItemID); RenderableWebEntityItem* webEntity = dynamic_cast(entity.get()); if (webEntity) { @@ -1049,6 +1049,13 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : } }); + connect(this, &Application::aboutToQuit, [=]() { + _keyboardFocusedItem = UNKNOWN_ENTITY_ID; + if (_keyboardFocusHighlight) { + _keyboardFocusHighlight->setVisible(false); + } + }); + // Make sure we don't time out during slow operations at startup updateHeartbeat(); diff --git a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp index f0244d0e3f..8298dbcec5 100644 --- a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp @@ -226,10 +226,15 @@ void RenderableWebEntityItem::setSourceUrl(const QString& value) { } void RenderableWebEntityItem::setProxyWindow(QWindow* proxyWindow) { - _webSurface->setProxyWindow(proxyWindow); + if (_webSurface) { + _webSurface->setProxyWindow(proxyWindow); + } } QObject* RenderableWebEntityItem::getEventHandler() { + if (!_webSurface) { + return nullptr; + } return _webSurface->getEventHandler(); }