69cf996ce6
I could reproduce the crash described in #1284 only with 32bits versions of godot. The test scene contains a Plane collision shape, and a kinematicsbody with a Sphere collision shape. The crash occurs into `CollisionSolverSW::solve_distance_plane()` on line 299 when `p_shape_A` is a `PlaneShapeSW` object and when `p_shape_B` is a `MotionShapeSW` object, because `int support_count;` is not initialized by default, and because `MotionShapeSW::get_supports()` does not change `support_count` once passed as referenced parameter, and if the default value of `support_count` is greater than the length of `supports[16]`. I don't know if it is the good way to fix it because i'm not skilled ennough with the physics server inner working, but this fix prevents the crash and the test-scene seems to work correctly. |
||
---|---|---|
.. | ||
audio | ||
physics | ||
physics_2d | ||
spatial_sound | ||
spatial_sound_2d | ||
visual | ||
audio_server.cpp | ||
audio_server.h | ||
physics_2d_server.cpp | ||
physics_2d_server.h | ||
physics_server.cpp | ||
physics_server.h | ||
register_server_types.cpp | ||
register_server_types.h | ||
SCsub | ||
spatial_sound_2d_server.cpp | ||
spatial_sound_2d_server.h | ||
spatial_sound_server.cpp | ||
spatial_sound_server.h | ||
visual_server.cpp | ||
visual_server.h |