mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
`MultiFrameCodec` now uses whatever previously cached required frame is available instead of panicking if it doesn't have the exact frame requested by `SkCodec::FrameInfo#fRequiredFrame`. `SkCodec::FrameInfo#fRequiredFrame` doesn't point to the one and only frame that's required to decode the given frame. It points to the latest frame that's disposal method none and filling a greater surface area than the current frame. The last required frame `MultiFrameCodec` has actually cached is also valid in these cases and can be supplied as `fPriorFrame` instead. [flutter/flutter#26757](https://github.com/flutter/flutter/issues/26757#issuecomment-459522530) has a more detailed explanation. Fixes flutter/flutter#26757