diff options
author | Michael Pavone <pavone@retrodev.com> | 2018-05-01 23:55:48 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2018-05-01 23:55:48 -0700 |
commit | c0e175f9d588f1aa5e0049a43d5e37199c2d1a60 (patch) | |
tree | 63721a835cdd8c1c01c17b452f875d360aeb6653 /render_sdl.c | |
parent | c18c6e9281ef6db4931f7d3c28ca022c6a005d81 (diff) |
Fix deadlock when changing settings before loading first ROM
Diffstat (limited to 'render_sdl.c')
-rwxr-xr-x | render_sdl.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/render_sdl.c b/render_sdl.c index 9bfee36..749eed1 100755 --- a/render_sdl.c +++ b/render_sdl.c @@ -1158,8 +1158,13 @@ void render_config_updated(void) } #endif - SDL_CloseAudio(); + uint8_t was_paused = SDL_GetAudioStatus() == SDL_AUDIO_PAUSED; + render_close_audio(); + quitting = 0; init_audio(); + if (!was_paused) { + SDL_PauseAudio(0); + } double lowpass_cutoff = get_lowpass_cutoff(config); double rc = (1.0 / lowpass_cutoff) / (2.0 * M_PI); |