Merge pull request #59829 from RandomShaper/fix_null_stream_crash_3.x
[3.x] Fix crash when passing null to AudioStreamPlayer::set_stream()
This commit is contained in:
commit
a5f9e1ce18
3 changed files with 12 additions and 3 deletions
|
@ -272,7 +272,10 @@ void AudioStreamPlayer2D::_notification(int p_what) {
|
|||
|
||||
void AudioStreamPlayer2D::set_stream(Ref<AudioStream> p_stream) {
|
||||
// Instancing audio streams can cause large memory allocations, do it prior to AudioServer::lock.
|
||||
Ref<AudioStreamPlayback> pre_instanced_playback = p_stream->instance_playback();
|
||||
Ref<AudioStreamPlayback> pre_instanced_playback;
|
||||
if (p_stream.is_valid()) {
|
||||
pre_instanced_playback = p_stream->instance_playback();
|
||||
}
|
||||
|
||||
AudioServer::get_singleton()->lock();
|
||||
|
||||
|
|
|
@ -623,7 +623,10 @@ void AudioStreamPlayer3D::_notification(int p_what) {
|
|||
|
||||
void AudioStreamPlayer3D::set_stream(Ref<AudioStream> p_stream) {
|
||||
// Instancing audio streams can cause large memory allocations, do it prior to AudioServer::lock.
|
||||
Ref<AudioStreamPlayback> pre_instanced_playback = p_stream->instance_playback();
|
||||
Ref<AudioStreamPlayback> pre_instanced_playback;
|
||||
if (p_stream.is_valid()) {
|
||||
pre_instanced_playback = p_stream->instance_playback();
|
||||
}
|
||||
|
||||
AudioServer::get_singleton()->lock();
|
||||
|
||||
|
|
|
@ -168,7 +168,10 @@ void AudioStreamPlayer::_notification(int p_what) {
|
|||
|
||||
void AudioStreamPlayer::set_stream(Ref<AudioStream> p_stream) {
|
||||
// Instancing audio streams can cause large memory allocations, do it prior to AudioServer::lock.
|
||||
Ref<AudioStreamPlayback> pre_instanced_playback = p_stream->instance_playback();
|
||||
Ref<AudioStreamPlayback> pre_instanced_playback;
|
||||
if (p_stream.is_valid()) {
|
||||
pre_instanced_playback = p_stream->instance_playback();
|
||||
}
|
||||
|
||||
AudioServer::get_singleton()->lock();
|
||||
|
||||
|
|
Loading…
Reference in a new issue