]> git.mxchange.org Git - simgear.git/commitdiff
Fix error handling in SGSampleGroup::stop
authorThorstenB <brehmt@gmail.com>
Sun, 24 Jun 2012 17:18:47 +0000 (19:18 +0200)
committerThorstenB <brehmt@gmail.com>
Sun, 24 Jun 2012 17:18:47 +0000 (19:18 +0200)
Move error check to correct location: needs to be done immediately after
the alSourceStop call - and only if it was called at all.

simgear/sound/sample_group.cxx
simgear/sound/sample_group.hxx
simgear/sound/soundmgr_openal.hxx

index c680b8f7b1a3c76847b424733ef8a646a73db296..ee8080fa045df8fd189f4dc672afdd907b00498c 100644 (file)
@@ -273,6 +273,7 @@ SGSampleGroup::stop ()
             ALint source = sample->get_source();
             if ( sample->is_playing() ) {
                 alSourceStop( source );
+                testForALError("stop");
             }
             _smgr->release_source( source );
             sample->no_valid_source();
@@ -283,7 +284,6 @@ SGSampleGroup::stop ()
             sample->no_valid_buffer();
         }
     }
-    testForALError("stop");
 }
 
 // stop playing all associated samples
index 56f1bd450c69eb65bb383662054fe5d61c292c0f..7d17f76126b1fc3452a74c08f833518ebb604aac 100644 (file)
@@ -145,7 +145,7 @@ public:
     void resume();
 
     /**
-     * Request to start playing the refered audio sample.
+     * Request to start playing the referred audio sample.
      * @param refname Reference name of the audio sample to start playing
      * @param looping Define if the sound should loop continuously
      * @return true if the audio sample exsists and is scheduled for playing
@@ -153,7 +153,7 @@ public:
     bool play( const string& refname, bool looping );
     
     /**
-     * Request to start playing the refered audio sample looping.
+     * Request to start playing the referred audio sample looping.
      * @param refname Reference name of the audio sample to start playing
      * @return true if the audio sample exsists and is scheduled for playing
      */
@@ -162,9 +162,9 @@ public:
     }
 
     /**
-     * Request to start playing the refered audio sample once.
+     * Request to start playing the referred audio sample once.
      * @param refname Reference name of the audio sample to start playing
-     * @return true if the audio sample exsists and is scheduled for playing
+     * @return true if the audio sample exists and is scheduled for playing
      */
     inline bool play_once( const string& refname ) {
         return play( refname, false );
@@ -178,7 +178,7 @@ public:
     bool is_playing( const string& refname );
 
     /**
-     * Request to stop playing the refered audio sample.
+     * Request to stop playing the referred audio sample.
      * @param refname Reference name of the audio sample to stop
      * @return true if the audio sample exists and is scheduled to stop
      */
index e075a913938540005c4b897bb739eedd7052a1ca..e34d62668940126f6edfbb0c8c4d6880ff876de9 100644 (file)
@@ -113,7 +113,7 @@ public:
 
     /**
      * Register a sample group to the sound manager.
-     * @para sgrp Pointer to a sample group to add
+     * @param sgrp Pointer to a sample group to add
      * @param refname Reference name of the sample group
      * @return true if successful, false otherwise
      */
@@ -250,7 +250,7 @@ public:
     inline bool has_changed() { return _changed; }
 
     /**
-     * Some implementations seem to need the velocity miltyplied by a
+     * Some implementations seem to need the velocity multiplied by a
      * factor of 100 to make them distinct. I've not found if this is
      * a problem in the implementation or in out code. Until then
      * this function is used to detect the problematic implementations.