From f0f2aa6e68453a4a38f4a155fd5fce0462823688 Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Tue, 10 Aug 2021 17:48:47 +0200 Subject: [PATCH] Fix arviz causing the gui to freeze when closed --- source/RobotAPI/components/ArViz/Coin/Visualizer.cpp | 3 +++ source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp b/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp index 778c2db5f..e25405e6a 100644 --- a/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp +++ b/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp @@ -119,12 +119,15 @@ namespace armarx::viz return; } + state = CoinVisualizerState::STOPPED; + /* state = CoinVisualizerState::STOPPING; while (state != CoinVisualizerState::STOPPED) { QCoreApplication::processEvents(); usleep(1000); } + */ } CoinVisualizer_ApplyTiming CoinVisualizer::apply(data::LayerUpdate const& update) diff --git a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp index e210b778f..c379eed20 100644 --- a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp +++ b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp @@ -176,8 +176,6 @@ namespace armarx void ArVizWidgetController::onDisconnectComponent() { - visualizer.stop(); - // Changes to UI elements are only allowed in the GUI thread emit disconnectGui(); } @@ -195,6 +193,7 @@ namespace armarx void ArVizWidgetController::onDisconnectGui() { timingObserverTimer->stop(); + visualizer.stop(); changeMode(ArVizWidgetMode::NotConnected); } -- GitLab