c088a2dd89
This crash occurred when an audio stream finished playing in NOTIFICATION_INTERNAL_PROCESS, during which it would iterate through a loop of playbacks, leading to a "finished" signal, which removed the audio player from the tree which led to a NOTIFICATION_EXIT_TREE, which would mutate the array of playbacks while within the above loop. This moves the signal callback outside of the loop which avoids the crash. Note: previously, the signal was called multiple times if the same player finishes multiple times in one frame. Now it is at most once per frame. Affects AudioStreamPlayer, AudioStreamPlayer2D and AudioStreamPlayer3D |
||
---|---|---|
.. | ||
2d | ||
3d | ||
animation | ||
audio | ||
debugger | ||
gui | ||
main | ||
resources | ||
register_scene_types.cpp | ||
register_scene_types.h | ||
scene_string_names.cpp | ||
scene_string_names.h | ||
SCsub |