]> git.jsancho.org Git - lugaru.git/commitdiff
Hack around crash on shutdown.
authorRyan C. Gordon <icculus@icculus.org>
Fri, 12 Aug 2005 03:24:14 +0000 (03:24 +0000)
committerRyan C. Gordon <icculus@icculus.org>
Fri, 12 Aug 2005 03:24:14 +0000 (03:24 +0000)
Source/GameInitDispose.cpp
Source/GameTick.cpp
Source/OpenGL_Windows.cpp
Source/Person.cpp

index 6cc47e68b49872ddb43c03afbd61ada4770bcded..4bf7964fc29b944b52ca1efd2ccd6b82ddbcd701 100644 (file)
@@ -89,7 +89,7 @@ extern float accountcampaigntime[10];
 extern int accountcampaignchoicesmade[10];
 extern int accountcampaignchoices[10][5000];
 
-extern FSOUND_STREAM * strm[10];
+extern FSOUND_STREAM * strm[20];
 
 extern "C"     void PlaySoundEx(int channel, FSOUND_SAMPLE *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
 extern "C" void PlayStreamEx(int chan, FSOUND_STREAM *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
@@ -169,6 +169,9 @@ void Game::Dispose()
 
        FSOUND_StopSound(FSOUND_ALL);
 
+// this is causing problems on Linux, but we'll force an _exit() a little
+//  later in the shutdown process.  --ryan.
+#if !PLATFORM_LINUX
 #define streamcount 20
 #define samplecount 100
 
@@ -188,6 +191,7 @@ void Game::Dispose()
                free(texture.data);
        }
        texture.data = 0;
+#endif
 }
 
 
index a12819b2b3559ef196705bc2237f5715c711cbe7..3393eeb12f541b8440cbf3f677f8dd6aebdc5c0f 100644 (file)
@@ -203,7 +203,7 @@ extern float accountcampaigntime[10];
 extern int accountcampaignchoicesmade[10];
 extern int accountcampaignchoices[10][5000];
 /********************> Tick() <*****/
-extern FSOUND_STREAM * strm[10];
+extern FSOUND_STREAM * strm[20];
 extern "C"     void PlaySoundEx(int channel, FSOUND_SAMPLE *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
 extern "C" void PlayStreamEx(int chan, FSOUND_STREAM *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
 
index 3aecec5b91a2787e8103f7bea361edf343ddc168..24fcd87d438d3178344cd36115804321db913e89 100644 (file)
@@ -1302,6 +1302,10 @@ void CleanUp (void)
     //  the context is destroyed and libGL unloaded by SDL_Quit().
     pglDeleteTextures = glDeleteTextures_doNothing;
 
+    #if PLATFORM_LINUX
+    _exit(0);  // !!! FIXME: hack...crashes on exit!
+    #endif
+
 #elif (defined WIN32)
        if (hRC)
        {
@@ -2366,7 +2370,7 @@ int main(int argc, char **argv)
 
        extern int channels[100];
        extern FSOUND_SAMPLE * samp[100];
-       extern FSOUND_STREAM * strm[10];
+       extern FSOUND_STREAM * strm[20];
 
        extern "C" void PlaySoundEx(int chan, FSOUND_SAMPLE *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused)
        {
index edebfb243612885b8b4dd962f908a3c121d49ea5..ee9ab1f027efc042f902d54263a41d7205f24d60 100644 (file)
@@ -87,7 +87,7 @@ extern int indialogue;
 
 extern bool gamestarted;
 
-extern FSOUND_STREAM * strm[10];
+extern FSOUND_STREAM * strm[20];
 extern "C"     void PlaySoundEx(int channel, FSOUND_SAMPLE *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
 extern "C" void PlayStreamEx(int chan, FSOUND_STREAM *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);