-
Notifications
You must be signed in to change notification settings - Fork 223
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[foxy backport] Ensure rviz_common::MessageFilterDisplay processes messages in the main thread (#620) #765
Conversation
…in thread (ros2#620) Since tf2_ros::MessageFilter callback is called from tf2_ros::TransformListener dedicated thread, concurrency issues will arise if a derived display (like rviz_defaults_plugins::Polygon) attempts to modify the UI from rviz_common::MessageFilterDisplay::processMessage(). Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should accept this change since it is not ABI compatible (ie. it would require users of MessageFilterDisplay
to re-compile). I'm not as concerned about the changes to _RosTopicDisplay
since that is more of an implementation detail, but I think we should remain ABI compatible with MessageFilterDisplay
.
protected Q_SLOTS: | ||
virtual void processTypeErasedMessage(std::shared_ptr<const void> type_erased_message) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding a virtual method is not ABI compatible
Signed-off-by: Greg Balke <greg@openrobotics.org>
I've made some adjustments that are being PRed to @spurnvoj 's branch. Here are the results from my abi compatibility check:
Tested with the following commands in a docker container where
|
Changes to support ABI compatibility
@gbalke thanks for the changes, looks good. @jacobperron can you please review again the current version? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks @gbalke for looking into an ABI compatible fix.
I'd like to get an extra +1 from one of the original reviewers to confirm that this is ABI-compatible.
@hidmic @clalancette @wjwwood (thanks in advance!)
@jacobperron seems like the windows build is borked for unrelated reasons. I'll leave it to your best judgement when it comes to merging. |
Windows warnings are not related. |
Backport #620 to Foxy