godot/scene
Lyuma c088a2dd89 Fix crash due to reentrancy in AudioStreamPlayer* finished signal.
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
2021-10-28 19:45:29 -07:00
..
2d Fix crash due to reentrancy in AudioStreamPlayer* finished signal. 2021-10-28 19:45:29 -07:00
3d Fix crash due to reentrancy in AudioStreamPlayer* finished signal. 2021-10-28 19:45:29 -07:00
animation Fix parallel Tweens not ending correctly 2021-10-28 21:04:22 +02:00
audio Fix crash due to reentrancy in AudioStreamPlayer* finished signal. 2021-10-28 19:45:29 -07:00
debugger Use range iterators for Map 2021-09-30 15:09:12 -06:00
gui clang-format: Disable alignment of operands, too unreliable 2021-10-28 15:19:35 +02:00
main clang-format: Disable alignment of operands, too unreliable 2021-10-28 15:19:35 +02:00
resources Merge pull request #54350 from akien-mga/clang-format-dont-align-operands 2021-10-28 17:10:52 +02:00
register_scene_types.cpp Rename Tabs to TabBar 2021-10-19 11:37:31 -03:00
register_scene_types.h
scene_string_names.cpp Merge pull request #45699 from TokageItLab/implement-skeleton-editor-gizmo 2021-10-06 21:11:20 +02:00
scene_string_names.h Merge pull request #45699 from TokageItLab/implement-skeleton-editor-gizmo 2021-10-06 21:11:20 +02:00
SCsub Disable Node3D when compiling without 3D and fix disable_3d option 2021-08-13 08:59:48 -05:00