From e44d5e0b39737e1947ea14a90acb36cf41d4c21f Mon Sep 17 00:00:00 2001 From: Emma Broman Date: Thu, 30 Jun 2022 11:57:41 +0200 Subject: [PATCH] Disable hover circle per default when setting renderable (fixes #2153) and throw warning if setting to non-existing node --- modules/skybrowser/skybrowsermodule.cpp | 3 +++ modules/skybrowser/skybrowsermodule_lua.inl | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/modules/skybrowser/skybrowsermodule.cpp b/modules/skybrowser/skybrowsermodule.cpp index 0b3c4a98bb..204756fd6d 100644 --- a/modules/skybrowser/skybrowsermodule.cpp +++ b/modules/skybrowser/skybrowsermodule.cpp @@ -307,6 +307,9 @@ void SkyBrowserModule::lookAtTarget(const std::string& id) { void SkyBrowserModule::setHoverCircle(SceneGraphNode* circle) { _hoverCircle = circle; + + // Always disable it per default. It should only be visible on interaction + disableHoverCircle(); } void SkyBrowserModule::moveHoverCircle(int i, bool useScript) { diff --git a/modules/skybrowser/skybrowsermodule_lua.inl b/modules/skybrowser/skybrowsermodule_lua.inl index cbd88164e6..016d8fb905 100644 --- a/modules/skybrowser/skybrowsermodule_lua.inl +++ b/modules/skybrowser/skybrowsermodule_lua.inl @@ -87,6 +87,12 @@ namespace { using namespace openspace; SceneGraphNode* circle = global::renderEngine->scene()->sceneGraphNode(identifier); + if (!circle) { + throw ghoul::lua::LuaError(fmt::format( + "Could not find node to set as hover circle: '{}'", identifier + )); + } + global::moduleEngine->module()->setHoverCircle(circle); }