Fix crash when no Follow path target specified Fixes a crash in the cloud renderer (it turns out, caused by the CPP runtime) when a Follow Path constraint has no target. Thanks for walking me through the backend tasks process and dependencies @mjtalbot! Obviously it defeats the purpose of using follow path if you don't set a target, but still, we shouldn't crash. Diffs= baefd620c Fix crash when no Follow path target specified (#5706) Co-authored-by: Philip Chung <philterdesign@gmail.com>
diff --git a/.rive_head b/.rive_head index 8dc8e18..db6aa2b 100644 --- a/.rive_head +++ b/.rive_head
@@ -1 +1 @@ -caed30e555827bd4f90339e85a0df7cc3a143c3a +baefd620c53ec3e11584bf95c10efe1377348446
diff --git a/src/constraints/follow_path_constraint.cpp b/src/constraints/follow_path_constraint.cpp index 71f6459..af2664a 100644 --- a/src/constraints/follow_path_constraint.cpp +++ b/src/constraints/follow_path_constraint.cpp
@@ -153,14 +153,16 @@ StatusCode FollowPathConstraint::onAddedClean(CoreContext* context) { - Shape* shape = static_cast<Shape*>(m_Target); - shape->addDefaultPathSpace(PathSpace::FollowPath); + if (m_Target != nullptr && m_Target->is<Shape>()) + { + Shape* shape = static_cast<Shape*>(m_Target); + shape->addDefaultPathSpace(PathSpace::FollowPath); + } return Super::onAddedClean(context); } void FollowPathConstraint::buildDependencies() { - assert(m_Target != nullptr); if (m_Target != nullptr && m_Target->is<Shape>()) // which should never happen { // Follow path should update after the target's path composer