]> git.mxchange.org Git - simgear.git/blobdiff - simgear/sound/xmlsound.cxx
add a missing character.
[simgear.git] / simgear / sound / xmlsound.cxx
index 48a2d0ee2b7acf8c00bd61ec0872fbe1659f098c..3e27b82b4933b57e4d60d7d7186241c9bd78913e 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();
@@ -265,15 +262,20 @@ SGXmlSound::init(SGPropertyNode *root, SGPropertyNode *node, SGSoundMgr *sndmgr,
       outer_gain = pos->getDoubleValue("outer-gain", 0.0);
    }
    
-
    //
    // Initialize the sample
    //
    _mgr = sndmgr;
    if ( (_sample = _mgr->find(_name)) == NULL ) {
-       _sample = new SGSoundSample( path.c_str(),
-                                    node->getStringValue("path", ""),
-                                    true );
+       // FIXME: Does it make sense to overwrite a previous entry's
+       // configuration just because a new entry has the same name?
+       // Note that we can't match on identical "path" because we the
+       // new entry could be at a different location with different
+       // configuration so we need a new sample which creates a new
+       // "alSource".  The semantics of what is going on here seems
+       // confused and needs to be thought through more carefully.
+        _sample = new SGSoundSample( path.c_str(),
+                                    node->getStringValue("path", "") );
 
        _mgr->add( _sample, _name );
    }