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:
@@ -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 ) )
|
||||
|
||||
Reference in New Issue
Block a user