virtualx-engine/scene/3d
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
..
area_3d.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
area_3d.h Enabled area-specific wind forces 2021-08-23 17:00:50 -04:00
audio_listener_3d.cpp Rename Listener2D/Listener3D to AudioListener2D/AudioListener3D 2021-09-16 17:51:51 -04:00
audio_listener_3d.h Remove unimplemented methods 2021-10-21 18:44:25 +01:00
audio_stream_player_3d.cpp Fix crash due to reentrancy in AudioStreamPlayer* finished signal. 2021-10-28 19:45:29 -07:00
audio_stream_player_3d.h Remove unused out_of_range_mode property from AudioStreamPlayer3D 2021-09-17 20:18:38 +02:00
bone_attachment_3d.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
bone_attachment_3d.h Remove REST transform influence in skeleton bones 2021-10-13 14:51:29 -03:00
camera_3d.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
camera_3d.h Fix missing argument names in bindings 2021-10-09 00:20:10 +02:00
collision_object_3d.cpp Merge pull request #54157 from bjauny/fix_potential_nullpointer_collision3d 2021-10-27 12:40:50 -07:00
collision_object_3d.h Entirely removes BIND_VMETHOD in favor of GDVIRTUAL 2021-08-23 08:10:13 -03:00
collision_polygon_3d.cpp Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody 2021-09-16 09:55:20 -07:00
collision_polygon_3d.h Use Array for node configuration warnings 2021-04-11 23:25:38 -05:00
collision_shape_3d.cpp Clarify RigidDynamicBody modes 2021-09-16 16:03:48 -07:00
collision_shape_3d.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
cpu_particles_3d.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 15:19:35 +02:00
cpu_particles_3d.h Remove unimplemented methods 2021-10-21 18:44:25 +01:00
decal.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
decal.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
gpu_particles_3d.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
gpu_particles_3d.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
gpu_particles_collision_3d.cpp clang-format: Enable BreakBeforeTernaryOperators 2021-10-28 15:57:41 +02:00
gpu_particles_collision_3d.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
importer_mesh_instance_3d.cpp GLTF for game templates. 2021-10-03 12:37:52 -07:00
importer_mesh_instance_3d.h GLTF for game templates. 2021-10-03 12:37:52 -07:00
joint_3d.cpp Rename Joint2D and Joint3D files for consistency 2021-10-01 12:00:32 -07:00
joint_3d.h Rename Joint2D and Joint3D files for consistency 2021-10-01 12:00:32 -07:00
light_3d.cpp Fix properties being displayed when they shouldn't in DirectionalLight3D 2021-10-25 22:04:30 +02:00
light_3d.h Only show relevant properties in the DirectionalLight3D inspector 2021-10-25 18:31:41 +02:00
lightmap_gi.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
lightmap_gi.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
lightmap_probe.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
lightmap_probe.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
lightmapper.cpp Implement occlusion culling 2021-04-23 21:45:23 +02:00
lightmapper.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
mesh_instance_3d.cpp Implement Animation Blend Shape Tracks 2021-10-16 08:36:05 -03:00
mesh_instance_3d.h Implement Animation Blend Shape Tracks 2021-10-16 08:36:05 -03:00
multimesh_instance_3d.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
multimesh_instance_3d.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
navigation_agent_3d.cpp Improved readability for failing error conditions 2021-10-08 17:29:25 -04:00
navigation_agent_3d.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
navigation_obstacle_3d.cpp Use Array for node configuration warnings 2021-04-11 23:25:38 -05:00
navigation_obstacle_3d.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
navigation_region_3d.cpp Improved readability for failing error conditions 2021-10-08 17:29:25 -04:00
navigation_region_3d.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
node_3d.cpp clang-format: Enable BreakBeforeTernaryOperators 2021-10-28 15:57:41 +02:00
node_3d.h Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
occluder_instance_3d.cpp Uniformize layer names, script methods and documentation 2021-08-12 08:06:42 -07:00
occluder_instance_3d.h Uniformize layer names, script methods and documentation 2021-08-12 08:06:42 -07:00
path_3d.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
path_3d.h Use real_t in 3D nodes 2021-08-03 11:16:51 -05:00
physics_body_3d.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
physics_body_3d.h Fix physics glitch with TileMap moving platforms 2021-10-04 12:27:42 -07:00
position_3d.cpp Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
position_3d.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
proximity_group_3d.cpp Use loop instead of recursion when clearing proximity groups 2021-10-07 16:31:47 +08:00
proximity_group_3d.h Use real_t in 3D nodes 2021-08-03 11:16:51 -05:00
ray_cast_3d.cpp Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
ray_cast_3d.h Uniformize layer names, script methods and documentation 2021-08-12 08:06:42 -07:00
reflection_probe.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
reflection_probe.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
remote_transform_3d.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
remote_transform_3d.h Use Array for node configuration warnings 2021-04-11 23:25:38 -05:00
SCsub Disable Node3D when compiling without 3D and fix disable_3d option 2021-08-13 08:59:48 -05:00
skeleton_3d.cpp Fixed animation insertion in SkeletonEditor 2021-10-23 16:50:00 +09:00
skeleton_3d.h get rid set_bone_pose and fix some function in SkeletonEditor 2021-10-15 02:41:17 +09:00
skeleton_ik_3d.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
skeleton_ik_3d.h Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
soft_dynamic_body_3d.cpp Fix SoftDynamicBody3D crash when setting disable mode 2021-10-21 08:56:12 -07:00
soft_dynamic_body_3d.h Fix SoftDynamicBody3D memory corruption when switching mesh at runtime 2021-10-20 10:57:08 -07:00
spring_arm_3d.cpp Remove ClippedCamera3D 2021-10-04 10:46:49 -03:00
spring_arm_3d.h Initialize class variables with default values in scene/ [1/2] 2021-02-07 22:29:31 +01:00
sprite_3d.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
sprite_3d.h Remove unimplemented methods 2021-10-21 18:44:25 +01:00
vehicle_body_3d.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 15:19:35 +02:00
vehicle_body_3d.h Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody 2021-09-16 09:55:20 -07:00
velocity_tracker_3d.cpp Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
velocity_tracker_3d.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
visible_on_screen_notifier_3d.cpp Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
visible_on_screen_notifier_3d.h Rename VisibilityNotifierXD to VisibleOnScreenNotifierXD 2021-06-16 22:01:39 -03:00
visual_instance_3d.cpp Implement distance fade and transparency 2021-10-25 11:39:34 +02:00
visual_instance_3d.h Implement distance fade and transparency 2021-10-25 11:39:34 +02:00
voxel_gi.cpp Replace references to VisualServer in code comments with RenderingServer 2021-10-07 15:49:41 +02:00
voxel_gi.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
voxelizer.cpp Merge pull request #53525 from Calinou/comments-replace-visual-server 2021-10-07 17:06:27 +02:00
voxelizer.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
world_environment.cpp Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
world_environment.h Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
xr_nodes.cpp Refactored Node3D rotation modes 2021-10-25 14:34:00 -03:00
xr_nodes.h Rework XR positional trackers 2021-10-17 12:12:20 +11:00