Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix avoidance dirty flag regression #100105

Merged
merged 1 commit into from
Dec 9, 2024
Merged

Conversation

smix8
Copy link
Contributor

@smix8 smix8 commented Dec 6, 2024

Fixes #100085

The dirty flag can also still be set by some legacy functions triggered by the agents and obstacles.

So what happened is that those would set the dirty flag to true at random moments expecting that the next sync would pick it up at some point. Meanwhile the actual agent or obstacle sync queue was empty turning it back to false, and without the dirty sync the arrays for the avoidance would be broken causing the crash.

The dirty flag can also still be set by some legacy functions triggered by the agents and obstacles.
@smix8 smix8 added this to the 4.4 milestone Dec 6, 2024
@smix8 smix8 requested a review from a team as a code owner December 6, 2024 15:22
Copy link
Member

@clayjohn clayjohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally and this fixes the crash.

I actually stumbled on this independently while working on something else. I'm glad to see if fixed so quickly.

@Repiteo Repiteo merged commit 94caf59 into godotengine:master Dec 9, 2024
20 checks passed
@Repiteo
Copy link
Contributor

Repiteo commented Dec 9, 2024

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NavigationAgent3D causes crashes on unpausing the game in compatibility mode
4 participants