X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Fmain.cxx;h=e1a50d6c3798cdfffe813a1afaad1fe46b1ad478;hb=dee0b6459e41f7c08e74321c51f3149f955262a0;hp=8ac54aa5695984ea8d671a3e80b50954dad03b14;hpb=446c2064a572a79951b16261fbb1b8908d2a3aca;p=flightgear.git diff --git a/src/Main/main.cxx b/src/Main/main.cxx index 8ac54aa56..e1a50d6c3 100644 --- a/src/Main/main.cxx +++ b/src/Main/main.cxx @@ -485,8 +485,8 @@ static void fgMainLoop( void ) { // is processing the scenery (doubled the frame-rate for me) -EMH- #ifdef ENABLE_AUDIO_SUPPORT static bool smgr_init = true; + static SGPropertyNode *sound_working = fgGetNode("/sim/sound/working"); if (smgr_init == true) { - static SGPropertyNode *sound_working = fgGetNode("/sim/sound/working"); if (sound_working->getBoolValue() == true) { fgInitSoundManager(); smgr_init = false; @@ -496,6 +496,12 @@ static void fgMainLoop( void ) { static SGSoundMgr *smgr = globals->get_soundmgr(); static bool smgr_enabled = true; + if (sound_working->getBoolValue() == false) { // request to reinit + smgr->reinit(); + smgr->resume(); + sound_working->setBoolValue(true); + } + if (smgr_enabled != sound_enabled->getBoolValue()) { if (smgr_enabled == true) { // request to suspend smgr->suspend();