Joystick ordering Fixes issue with dependencies discussed here: https://github.com/rive-app/rive/pull/5275 Joysticks now build their own DAG and export in the correct order for runtime. Diffs= f2ecb824b Joystick ordering (#5277)
diff --git a/.rive_head b/.rive_head index 9c8e55f..592c7e0 100644 --- a/.rive_head +++ b/.rive_head
@@ -1 +1 @@ -a4fb3dc7decb50f6965e21ebced098cbdc35883d +f2ecb824beea0dadfe7077accacb5cd246cac669
diff --git a/include/rive/math/aabb.hpp b/include/rive/math/aabb.hpp index 5d0ef5d..2e8132e 100644 --- a/include/rive/math/aabb.hpp +++ b/include/rive/math/aabb.hpp
@@ -93,8 +93,8 @@ Vec2D factorFrom(Vec2D point) const { - return Vec2D((point.x - left()) * 2.0f / width() - 1.0f, - (point.y - top()) * 2.0f / height() - 1.0f); + return Vec2D(width() == 0.0f ? 0.0f : (point.x - left()) * 2.0f / width() - 1.0f, + (height() == 0.0f ? 0.0f : point.y - top()) * 2.0f / height() - 1.0f); } };
diff --git a/src/artboard.cpp b/src/artboard.cpp index 2c5b233..4f09ab0 100644 --- a/src/artboard.cpp +++ b/src/artboard.cpp
@@ -485,9 +485,19 @@ { for (auto joystick : m_Joysticks) { + if (!joystick->canApplyBeforeUpdate()) + { + if (updateComponents()) + { + didUpdate = true; + } + } joystick->apply(this); } - updateComponents(); + if (updateComponents()) + { + didUpdate = true; + } } for (auto nestedArtboard : m_NestedArtboards) {