]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/main.cxx
Merge branch 'durk/ai-atc' into next
[flightgear.git] / src / Main / main.cxx
index 8ac54aa5695984ea8d671a3e80b50954dad03b14..e1a50d6c3798cdfffe813a1afaad1fe46b1ad478 100644 (file)
@@ -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();