SIGN IN SIGN UP

fix: Avoid desync between start and end (outer and inner) radial gradient circles

Due to the way `_mdf` (modified) flags are checked in
`SVGElementsRenderer.renderGradient()`, it's possible that the `fx` and
`fy` components of a radial gradient, defining its "inner" circle (used
for highlights via `.h` and `.a` members of a `gf` shape element in the
Lottie JSON), fall out of sync with `cx` and `cy` which define its outer
circle.

In particular, the branch which sets `fx`/`fy` triggers only when the
gradient end point changes, but then sets `fx` and `fy` based on a
calculation that involves both the start and end points. Therefore, if
the start point of a gradient ever changes without a corresponding
change in the end point, the `cx`/`cy` value will be updated but not
the `fx`/`fy` value, causing visual artifacts.
D
David Davidović committed
e5b6c2e5aea1c2e8607482a621ffb633ac5bc6fd
Parent: 0d658b3