Index: src/ros_msg_transporter.hpp =================================================================== --- src/ros_msg_transporter.hpp (revision 33731) +++ src/ros_msg_transporter.hpp (working copy) @@ -144,7 +144,7 @@ void publish(){ typename base::ChannelElement::value_t sample; // XXX: real-time ! // this read should always succeed since signal() means 'data available in a data element'. - base::ChannelElement* input = dynamic_cast< base::ChannelElement* >(this->input); + typename base::ChannelElement::shared_ptr input = boost::dynamic_pointer_cast< base::ChannelElement >( this->getInput() ); if( input->read(sample) == NewData ) ros_pub.publish(sample); }