Ryujinx-SDL/src
Sam Lantinga 8325df25aa Fixed bug 4169 - Crash due to audio session observer race condition
Jona

The following explains why this bug was happening:
This crash was caused because the audio session was being set as active [session setActive:YES error:&err] when the audio device was actually being CLOSED. Certain cases the audio session being set to active would fail and the method would return right away. Because of the way the error was handled we never removed the SDLInterruptionListener thus leaking it. Later when an interruption was received the THIS_ object would contain a pointer to an already released device causing the crash.

The fix:
When only one device remained open and it was being closed we needed to set the audio session as NOT active and completely ignore the returned error to successfully release the SDLInterruptionListener. I think the user assumed that the open_playback_devices and open_capture_devices would equal 0 when all of them where closed but the truth is that at the end of the closing process that the open devices count is decremented.
2018-05-24 07:30:24 -07:00
..
atomic Updated copyright for 2018 2018-01-03 10:03:25 -08:00
audio Fixed bug 4169 - Crash due to audio session observer race condition 2018-05-24 07:30:24 -07:00
core Reimplemented Android cursor API support using reflection so it builds with older SDKs 2018-03-16 11:08:53 -07:00
cpuinfo cpuinfo: Added SDL_HasAVX512F(). 2018-05-21 11:35:42 -04:00
dynapi cpuinfo: Added SDL_HasAVX512F(). 2018-05-21 11:35:42 -04:00
events Fixed building on platforms without __sighandler_t 2018-01-30 18:12:25 -08:00
file Updated copyright for 2018 2018-01-03 10:03:25 -08:00
filesystem revert the recent typecast assignment changes (see bug #4079) 2018-02-12 17:00:00 +03:00
haptic Updated copyright for 2018 2018-01-03 10:03:25 -08:00
joystick Added support for the NVIDIA SHIELD handheld gaming device 2018-05-23 17:15:37 -07:00
libm SDL_log10 2018-01-17 11:53:09 -05:00
loadso Updated copyright for 2018 2018-01-03 10:03:25 -08:00
main Fixed bug 4073 - Unquoted Unicode argument parsing broken on Windows due to incorrect usage of SDL_isspace() 2018-02-10 12:43:11 -08:00
power Handle NULL return from SDL_DBus_GetContext() 2018-04-23 20:24:12 -07:00
render do the direct3d tap dance for overscan hint only if SDL_VIDEO_RENDER_D3D == 1 2018-05-10 08:25:23 +03:00
stdlib make sure SDL_vsnprintf() nul terminates if it is using _vsnprintf 2018-05-10 09:02:39 +03:00
test SDL_test_fuzzer.c: fix strict aliasing warnings by using a union. 2018-02-25 10:15:00 +03:00
thread thread: fixed compiler warnings on non-Linux systems that use pthread. 2018-05-21 12:00:21 -04:00
timer Updated copyright for 2018 2018-01-03 10:03:25 -08:00
video Merged latest changes from Steam Link app 2018-05-18 13:09:30 -07:00
SDL_assert_c.h Updated copyright for 2018 2018-01-03 10:03:25 -08:00
SDL_assert.c Progress fixing bug 4100 - errors and warnings after changeset 11917 2018-03-02 22:53:25 -08:00
SDL_dataqueue.c Updated copyright for 2018 2018-01-03 10:03:25 -08:00
SDL_dataqueue.h Updated copyright for 2018 2018-01-03 10:03:25 -08:00
SDL_error_c.h Updated copyright for 2018 2018-01-03 10:03:25 -08:00
SDL_error.c Updated copyright for 2018 2018-01-03 10:03:25 -08:00
SDL_hints.c Updated copyright for 2018 2018-01-03 10:03:25 -08:00
SDL_internal.h Updated copyright for 2018 2018-01-03 10:03:25 -08:00
SDL_log.c Updated copyright for 2018 2018-01-03 10:03:25 -08:00
SDL.c Fixed bug 4034 - Don't include _DllMainCRTStartup() if SDL_STATIC_LIB is defined. 2018-02-21 09:40:47 -08:00