fix crash on non-existent sounds (i.e. shareware data)
authorBradley Bell <btb@icculus.org>
Mon, 24 Feb 2003 06:16:17 +0000 (06:16 +0000)
committerBradley Bell <btb@icculus.org>
Mon, 24 Feb 2003 06:16:17 +0000 (06:16 +0000)
ChangeLog
arch/sdl/digi.c

index 5c796aa..5729fbd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-23  Bradley Bell <btb@icculus.org>
+
+       * arch/sdl/digi.c: fix crash on non-existent sounds
+       (i.e. shareware data)
+
 2003-02-22  Bradley Bell <btb@icculus.org>
 
        * main/titles.c: fixed fullscreen toggle in briefings
index 5e708b9..06c23e7 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: digi.c,v 1.6 2003-02-21 05:05:41 btb Exp $ */
+/* $Id: digi.c,v 1.7 2003-02-24 06:16:17 btb Exp $ */
 /*
  *
  * SDL digital audio support
@@ -288,6 +288,8 @@ int digi_xlat_sound(int soundno)
                soundno = AltSounds[soundno];
                if ( soundno == 255 ) return -1;
        }
+       if (Sounds[soundno] == 255) return -1;
+
        return Sounds[soundno];
 }
 
@@ -308,6 +310,8 @@ int digi_start_sound(int soundnum, fix volume, fix pan, int looping, int loop_st
 
  if (!digi_initialised) return -1;
 
+ if (soundnum < 0) return -1;
+
  //added on 980905 by adb from original source to add sound kill system
  // play at most digi_max_channel samples, if possible kill sample with low volume
  ntries = 0;