Forcing a crash with a stack trace on a user settable preference seems wrong. "Throw" an exception instead which will show a lovely dialog box with the message.

This commit is contained in:
Steve Checkoway
2005-12-17 13:16:22 +00:00
parent 510254abb4
commit 0338fb01ef
+13 -9
View File
@@ -16,7 +16,8 @@ void MakeInputHandlers(CString drivers, vector<InputHandler *> &Add)
vector<CString> DriversToTry;
split(drivers, ",", DriversToTry, true);
ASSERT( DriversToTry.size() != 0 );
if( DriversToTry.empty() )
RageException::Throw( "Input Handlers cannot be empty." );
CString Driver;
@@ -56,7 +57,7 @@ void MakeInputHandlers(CString drivers, vector<InputHandler *> &Add)
#endif
if( ret == NULL )
LOG->Warn( "Unknown Input Handler name: %s", s->c_str() );
LOG->Trace( "Unknown Input Handler name: %s", s->c_str() );
else
Add.push_back( ret );
}
@@ -84,7 +85,7 @@ void MakeLightsDrivers(CString driver, vector<LightsDriver *> &Add)
#endif
if( ret == NULL && driver.CompareNoCase("Null") )
LOG->Warn( "Unknown lights driver name: %s", driver.c_str() );
LOG->Trace( "Unknown lights driver name: %s", driver.c_str() );
else if( ret != NULL )
Add.push_back( ret );
@@ -99,7 +100,7 @@ LoadingWindow *MakeLoadingWindow()
/* Don't load NULL by default. On most systems, if we can't load the SDL
* loading window, we won't be able to init OpenGL, either, so don't bother. */
CString drivers = "xbox,win32,cocoa,gtk";
const CString drivers = "xbox,win32,cocoa,gtk";
vector<CString> DriversToTry;
split(drivers, ",", DriversToTry, true);
@@ -174,7 +175,7 @@ MemoryCardDriver *MakeMemoryCardDriver()
}
#include "MovieTexture/Selector_MovieTexture.h"
static void DumpAVIDebugInfo(CString);
static void DumpAVIDebugInfo( const CString& fn );
/* Try drivers in order of preference until we find one that works. */
RageMovieTexture *MakeRageMovieTexture( RageTextureID ID )
{
@@ -182,7 +183,9 @@ RageMovieTexture *MakeRageMovieTexture(RageTextureID ID)
vector<CString> DriversToTry;
split( PREFSMAN->GetMovieDrivers(), ",", DriversToTry, true );
ASSERT(DriversToTry.size() != 0);
if( DriversToTry.empty() )
RageException::Throw( "Movie Drivers cannot be empty." );
CString Driver;
RageMovieTexture *ret = NULL;
@@ -205,7 +208,7 @@ RageMovieTexture *MakeRageMovieTexture(RageTextureID ID)
#endif
if( ret == NULL )
{
LOG->Warn( "Unknown movie driver name: %s", Driver.c_str() );
LOG->Trace( "Unknown movie driver name: %s", Driver.c_str() );
continue;
}
@@ -230,7 +233,8 @@ RageSoundDriver *MakeRageSoundDriver(CString drivers)
vector<CString> DriversToTry;
split(drivers, ",", DriversToTry, true);
ASSERT( DriversToTry.size() != 0 );
if( DriversToTry.empty() )
RageException::Throw( "Sound Drivers cannot be empty." );
CString Driver;
RageSoundDriver *ret = NULL;
@@ -289,7 +293,7 @@ RageSoundDriver *MakeRageSoundDriver(CString drivers)
}
// Helper for MakeRageMovieTexture()
static void DumpAVIDebugInfo( CString fn )
static void DumpAVIDebugInfo( const CString& fn )
{
CString type, handler;
if( !RageMovieTexture::GetFourCC( fn, handler, type ) )