From a79f006cf4362cf0eb1b7d5821ee8c2c1881dc39 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. --- 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];