fix: keep animation error#863
Conversation
Summary of ChangesHello @HardyNLee, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 此拉取请求旨在解决 Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
这个 PR 旨在修复当使用 setTempAnimation 和 setAnimation 的 keep 动画时,若目标对象提前退场,会导致后续所有动画失效的 bug。您通过引入 keepAnimationStopped 标志位来处理竞态条件,并在 stopFunction 中为 keep 动画调用 removeAnimationWithoutSetEndState,从而避免在已销毁的对象上执行操作。这个修复方案看起来是正确且有效的,并且与之前在 setTransform 中应用的方案保持了一致。
审查中,我发现 setAnimation、setTempAnimation 和 setTransform 之间存在大量重复的逻辑。为了提高代码的可维护性,我已在评论中建议将这些通用逻辑提取到一个共享的辅助函数中。
介绍
修复
setTempAnimation和setAnimation还在播 keep 动画时, 目标对象提前退场, 导致的后续所有动画失效的问题本质上是 #775 方案的延续, 但是那个 PR 只处理了
setTransform测试
下面这段代码多试几次, 多滚滚轮, 此 PR 前有概率造成所有动画失效