From a1880e0107574b62d70dcfada83905be29273eca Mon Sep 17 00:00:00 2001 From: skidau Date: Tue, 19 May 2015 11:50:56 +0000 Subject: [PATCH] Reset the sound subsystem if the audio backend is changed. Fixed an array out of bounds error in the sound device selection. git-svn-id: https://svn.code.sf.net/p/vbam/code/trunk@1450 a31d4220-a93d-0410-bf67-fe4944624d44 --- src/wx/cmdevents.cpp | 1 + src/wx/guiinit.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wx/cmdevents.cpp b/src/wx/cmdevents.cpp index 9dae4830..f6bc5361 100644 --- a/src/wx/cmdevents.cpp +++ b/src/wx/cmdevents.cpp @@ -2462,6 +2462,7 @@ EVT_HANDLER_MASK(SoundConfigure, "Sound options...", CMDEN_NREC_ANY) soundSetVolume((float)gopts.sound_vol / 100.0); update_opts(); + soundReset(); } EVT_HANDLER(EmulatorDirectories, "Directories...") diff --git a/src/wx/guiinit.cpp b/src/wx/guiinit.cpp index 872b5b74..e5f23e0d 100644 --- a/src/wx/guiinit.cpp +++ b/src/wx/guiinit.cpp @@ -1704,7 +1704,7 @@ public: SoundConfig_t &sch = sound_config_handler; int devs = sch.dev->GetSelection(); - if (!devs) + if (devs <= 0) gopts.audio_dev = wxEmptyString; else gopts.audio_dev = sch.dev_ids[devs - 1];