Skip to content

Commit 7cc2fce

Browse files
Fixes issue #2903 (#2907) (#2912)
This PR fixes issue #2903 and prevents the server from segfaulting if the plugin fails to load correctly. It prints an error that the plugin was misconfigured and continues executing ahead. (cherry picked from commit 049c19e) Signed-off-by: Arjo Chakravarty <[email protected]> Co-authored-by: Arjo Chakravarty <[email protected]>
1 parent eb03ce4 commit 7cc2fce

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/systems/lift_drag/LiftDrag.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,12 @@ class gz::sim::systems::LiftDragPrivate
148148
void LiftDragPrivate::Load(const EntityComponentManager &_ecm,
149149
const sdf::ElementPtr &_sdf)
150150
{
151+
if (!this->model.Valid(_ecm))
152+
{
153+
gzerr << "The LiftDrag system should be attached to a model entity. "
154+
<< "Failed to initialize." << std::endl;
155+
return;
156+
}
151157
this->cla = _sdf->Get<double>("cla", this->cla).first;
152158
this->cda = _sdf->Get<double>("cda", this->cda).first;
153159
this->cma = _sdf->Get<double>("cma", this->cma).first;
@@ -529,15 +535,9 @@ void LiftDragPrivate::Update(EntityComponentManager &_ecm)
529535
//////////////////////////////////////////////////
530536
void LiftDrag::Configure(const Entity &_entity,
531537
const std::shared_ptr<const sdf::Element> &_sdf,
532-
EntityComponentManager &_ecm, EventManager &)
538+
EntityComponentManager &, EventManager &)
533539
{
534540
this->dataPtr->model = Model(_entity);
535-
if (!this->dataPtr->model.Valid(_ecm))
536-
{
537-
gzerr << "The LiftDrag system should be attached to a model entity. "
538-
<< "Failed to initialize." << std::endl;
539-
return;
540-
}
541541
this->dataPtr->sdfConfig = _sdf->Clone();
542542
}
543543

0 commit comments

Comments
 (0)