Skip to content

Commit c930a57

Browse files
committed
Fix LaserScan reset not invalidating the time_tolerance_
1 parent 5f7848c commit c930a57

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

rviz_default_plugins/include/rviz_default_plugins/displays/laser_scan/laser_scan_display.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ class RVIZ_DEFAULT_PLUGINS_PUBLIC LaserScanDisplay : public
8787
/** create a status warning when tolerance is larger than 1s */
8888
void checkTolerance(rclcpp::Duration tolerance);
8989

90+
void subscribe() override;
91+
9092
std::unique_ptr<PointCloudCommon> point_cloud_common_;
9193
std::unique_ptr<laser_geometry::LaserProjection> projector_;
9294
rclcpp::Duration filter_tolerance_;

rviz_default_plugins/src/rviz_default_plugins/displays/laser_scan/laser_scan_display.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,13 @@ void LaserScanDisplay::onDisable()
137137
point_cloud_common_->onDisable();
138138
}
139139

140+
void LaserScanDisplay::subscribe()
141+
{
142+
MFDClass::subscribe();
143+
// Subscribe resets the tf_filter_, so update filter_tolerance_ to reflect that.
144+
filter_tolerance_ = rclcpp::Duration{0, 0};
145+
}
146+
140147
} // namespace displays
141148
} // namespace rviz_default_plugins
142149

0 commit comments

Comments
 (0)