]> git.mxchange.org Git - simgear.git/commitdiff
Melchior FRANZ:
authorehofman <ehofman>
Sun, 21 Nov 2004 17:05:42 +0000 (17:05 +0000)
committerehofman <ehofman>
Sun, 21 Nov 2004 17:05:42 +0000 (17:05 +0000)
At last I've found the reason why fgfs crashed routinely for me. When I still
used KDE's artsdsp (preloads lib with OSS replacement functions) I saw
this crash only occasionally. After letting OpenAl communicate with artsd
directly (by means of ~/.openalrc setting), I got the crash always when
I left fgfs.

This bug may also have crashed fgfs when running with sound daemons other than
aRts.

simgear/sound/soundmgr_openal.cxx
simgear/sound/xmlsound.cxx

index 0785edb5a63c7193a8fe74ca15cd4ab5ae468041..b525b31fb4f9a531c08027c54b22650796f805cc 100644 (file)
@@ -69,7 +69,8 @@ SGSoundMgr::SGSoundMgr() {
 
     // initialize OpenAL
     alutInit( 0, NULL );
-    alGetError();
+    atexit(alutExit);
+
     if ( alGetError() == AL_NO_ERROR) {
         working = true;
     } else {
@@ -119,8 +120,6 @@ SGSoundMgr::~SGSoundMgr() {
        SGSoundSample *sample = sample_current->second;
        delete sample;
     }
-
-    alutExit();
 }
 
 
index 48a2d0ee2b7acf8c00bd61ec0872fbe1659f098c..fbb4504ac1de562574b2e8a3886dcc4fb827c6b3 100644 (file)
@@ -80,11 +80,8 @@ SGXmlSound::~SGXmlSound()
 {
     _sample->stop();
 
-    if (_property)
-        delete _property;
-
-    if (_condition)
-        delete _condition;
+    delete _property;
+    delete _condition;
 
     _volume.clear();
     _pitch.clear();