diff --git a/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp b/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp index f1675bdd2695d06762f120677b071ec1e5e7c5e8..29e0cb3297797b6438cff98c04e6f8ca1cb230cd 100644 --- a/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp +++ b/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp @@ -383,6 +383,7 @@ namespace armarx::viz { std::unique_lock<std::mutex> lock(stateMutex); storage = stateStorage; + selection->deselectAll(); root->removeAllChildren(); layers.data.clear(); pulledUpdates.revision = 0; @@ -579,6 +580,11 @@ namespace armarx::viz void CoinVisualizer::onSelection(SoPath* path) { + if (state != CoinVisualizerState::RUNNING) + { + return; + } + ElementInteractionData* id = findInteractionDataOnPath(path); if (id == nullptr) { @@ -623,6 +629,11 @@ namespace armarx::viz void CoinVisualizer::onDeselection(SoPath* path) { + if (state != CoinVisualizerState::RUNNING) + { + return; + } + ElementInteractionData* id = findInteractionDataOnPath(path); if (id == nullptr) {