diff --git a/rviz_common/include/rviz_common/ros_integration/ros_node_abstraction_iface.hpp b/rviz_common/include/rviz_common/ros_integration/ros_node_abstraction_iface.hpp index fe253caf8..e03165e53 100644 --- a/rviz_common/include/rviz_common/ros_integration/ros_node_abstraction_iface.hpp +++ b/rviz_common/include/rviz_common/ros_integration/ros_node_abstraction_iface.hpp @@ -64,6 +64,7 @@ class RosNodeAbstractionIface get_topic_names_and_types() const = 0; // TODO(anhosi): remove once the RosNodeAbstraction is extended to handle subscriptions + // and clock virtual rclcpp::Node::SharedPtr get_raw_node() = 0; }; diff --git a/rviz_common/src/rviz_common/visualization_frame.cpp b/rviz_common/src/rviz_common/visualization_frame.cpp index 70d53143e..aa30c0ca6 100644 --- a/rviz_common/src/rviz_common/visualization_frame.cpp +++ b/rviz_common/src/rviz_common/visualization_frame.cpp @@ -325,7 +325,7 @@ void VisualizationFrame::initialize( // render_panel and VisualizationManager render_panel_->getRenderWindow()->initialize(); - auto clock = std::make_shared(RCL_ROS_TIME); + auto clock = rviz_ros_node.lock()->get_raw_node()->get_clock(); manager_ = new VisualizationManager(render_panel_, rviz_ros_node, this, clock); manager_->setHelpPath(help_path_); panel_factory_ = new PanelFactory(rviz_ros_node_, manager_);