diff --git a/interface/resources/qml/LoginDialog/LinkAccountBody.qml b/interface/resources/qml/LoginDialog/LinkAccountBody.qml
index 4708bfdebe..6cbd1c4837 100644
--- a/interface/resources/qml/LoginDialog/LinkAccountBody.qml
+++ b/interface/resources/qml/LoginDialog/LinkAccountBody.qml
@@ -126,10 +126,12 @@ Item {
activeFocusOnPress: true
ShortcutText {
+ z: 10
anchors {
- verticalCenter: usernameField.textFieldLabel.verticalCenter
- left: usernameField.textFieldLabel.right
- leftMargin: 10
+ left: usernameField.left
+ top: usernameField.top
+ leftMargin: usernameField.textFieldLabel.contentWidth + 10
+ topMargin: -19
}
text: "Forgot Username?"
@@ -154,10 +156,12 @@ Item {
activeFocusOnPress: true
ShortcutText {
+ z: 10
anchors {
- verticalCenter: passwordField.textFieldLabel.verticalCenter
- left: passwordField.textFieldLabel.right
- leftMargin: 10
+ left: passwordField.left
+ top: passwordField.top
+ leftMargin: passwordField.textFieldLabel.contentWidth + 10
+ topMargin: -19
}
text: "Forgot Password?"
@@ -168,6 +172,7 @@ Item {
onLinkActivated: loginDialog.openUrl(link)
}
+
onFocusChanged: {
root.text = "";
root.isPassword = true;
diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp
index 2033e8ee8e..6f95a1afe8 100644
--- a/interface/src/Application.cpp
+++ b/interface/src/Application.cpp
@@ -2294,6 +2294,7 @@ void Application::domainConnectionRefused(const QString& reasonMessage, int reas
QString message = "Unable to connect to the location you are visiting.\n";
message += reasonMessage;
OffscreenUi::asyncWarning("", message);
+ getMyAvatar()->setWorldVelocity(glm::vec3(0.0f));
break;
}
default:
diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp
index a7126b847e..d8ac3dc63e 100644
--- a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp
+++ b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp
@@ -279,18 +279,16 @@ EntityItemProperties RenderableModelEntityItem::getProperties(EntityPropertyFlag
}
bool RenderableModelEntityItem::supportsDetailedRayIntersection() const {
- return isModelLoaded();
+ return true;
}
bool RenderableModelEntityItem::findDetailedRayIntersection(const glm::vec3& origin, const glm::vec3& direction,
OctreeElementPointer& element, float& distance, BoxFace& face,
glm::vec3& surfaceNormal, QVariantMap& extraInfo, bool precisionPicking) const {
auto model = getModel();
- if (!model) {
- return true;
+ if (!model || !isModelLoaded()) {
+ return false;
}
- // qCDebug(entitiesrenderer) << "RenderableModelEntityItem::findDetailedRayIntersection() precisionPicking:"
- // << precisionPicking;
return model->findRayIntersectionAgainstSubMeshes(origin, direction, distance,
face, surfaceNormal, extraInfo, precisionPicking, false);
diff --git a/libraries/script-engine/src/ScriptEngines.cpp b/libraries/script-engine/src/ScriptEngines.cpp
index 0f6ff918b3..d385dcca84 100644
--- a/libraries/script-engine/src/ScriptEngines.cpp
+++ b/libraries/script-engine/src/ScriptEngines.cpp
@@ -191,6 +191,7 @@ void ScriptEngines::shutdownScripting() {
// Gracefully stop the engine's scripting thread
scriptEngine->stop();
+ removeScriptEngine(scriptEngine);
// We need to wait for the engine to be done running before we proceed, because we don't
// want any of the scripts final "scriptEnding()" or pending "update()" methods from accessing
@@ -394,6 +395,7 @@ void ScriptEngines::stopAllScripts(bool restart) {
// stop all scripts
qCDebug(scriptengine) << "stopping script..." << it.key();
scriptEngine->stop();
+ removeScriptEngine(scriptEngine);
}
// wait for engines to stop (ie: providing time for .scriptEnding cleanup handlers to run) before
// triggering reload of any Client scripts / Entity scripts
@@ -441,6 +443,7 @@ bool ScriptEngines::stopScript(const QString& rawScriptURL, bool restart) {
}
}
scriptEngine->stop();
+ removeScriptEngine(scriptEngine);
stoppedScript = true;
qCDebug(scriptengine) << "stopping script..." << scriptURL;
}