diff --git a/src/gui/plugins/visualize_lidar/VisualizeLidar.cc b/src/gui/plugins/visualize_lidar/VisualizeLidar.cc index ab306bdd8b..1a39fcffdf 100644 --- a/src/gui/plugins/visualize_lidar/VisualizeLidar.cc +++ b/src/gui/plugins/visualize_lidar/VisualizeLidar.cc @@ -379,7 +379,6 @@ void VisualizeLidar::UpdateSize(int _size) ////////////////////////////////////////////////// void VisualizeLidar::OnTopic(const QString &_topicName) { - std::lock_guard(this->dataPtr->serviceMutex); if (!this->dataPtr->topicName.empty() && !this->dataPtr->node.Unsubscribe(this->dataPtr->topicName)) { @@ -388,6 +387,7 @@ void VisualizeLidar::OnTopic(const QString &_topicName) } this->dataPtr->topicName = _topicName.toStdString(); + std::lock_guard lock(this->dataPtr->serviceMutex); // Reset visualization this->dataPtr->resetVisual = true; @@ -406,14 +406,14 @@ void VisualizeLidar::OnTopic(const QString &_topicName) ////////////////////////////////////////////////// void VisualizeLidar::UpdateNonHitting(bool _value) { - std::lock_guard(this->dataPtr->serviceMutex); + std::lock_guard lock(this->dataPtr->serviceMutex); this->dataPtr->lidar->SetDisplayNonHitting(_value); } ////////////////////////////////////////////////// void VisualizeLidar::DisplayVisual(bool _value) { - std::lock_guard(this->dataPtr->serviceMutex); + std::lock_guard lock(this->dataPtr->serviceMutex); this->dataPtr->lidar->SetVisible(_value); ignmsg << "Lidar Visual Display " << ((_value) ? "ON." : "OFF.") << std::endl; @@ -422,7 +422,6 @@ void VisualizeLidar::DisplayVisual(bool _value) ///////////////////////////////////////////////// void VisualizeLidar::OnRefresh() { - std::lock_guard(this->dataPtr->serviceMutex); ignmsg << "Refreshing topic list for LaserScan messages." << std::endl; // Clear @@ -468,7 +467,7 @@ void VisualizeLidar::SetTopicList(const QStringList &_topicList) ////////////////////////////////////////////////// void VisualizeLidar::OnScan(const msgs::LaserScan &_msg) { - std::lock_guard(this->dataPtr->serviceMutex); + std::lock_guard lock(this->dataPtr->serviceMutex); if (this->dataPtr->initialized) { this->dataPtr->msg = std::move(_msg);