diff --git a/src/polygon_filter.cpp b/src/polygon_filter.cpp index a95cb55..3edf976 100644 --- a/src/polygon_filter.cpp +++ b/src/polygon_filter.cpp @@ -258,7 +258,6 @@ bool LaserScanPolygonFilterBase::configure() dyn_server_.reset(new dynamic_reconfigure::Server(own_mutex_, private_nh)); dynamic_reconfigure::Server::CallbackType f; f = [this](auto& config, auto level){ reconfigureCB(config, level); }; - dyn_server_->setCallback(f); bool polygon_set = getParam("polygon", polygon_xmlrpc); bool polygon_frame_set = getParam("polygon_frame", polygon_frame_); @@ -274,6 +273,9 @@ bool LaserScanPolygonFilterBase::configure() param_config.invert = invert_filter_; dyn_server_->updateConfig(param_config); + // Calling setCallback(f) here calls reconfigureCB() which updates the polygon padding. + dyn_server_->setCallback(f); + polygon_pub_ = private_nh.advertise("polygon", 1, true); is_polygon_published_ = false;