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;
|
vector<CString> DriversToTry;
|
||||||
split(drivers, ",", DriversToTry, true);
|
split(drivers, ",", DriversToTry, true);
|
||||||
|
|
||||||
ASSERT( DriversToTry.size() != 0 );
|
if( DriversToTry.empty() )
|
||||||
|
RageException::Throw( "Input Handlers cannot be empty." );
|
||||||
|
|
||||||
CString Driver;
|
CString Driver;
|
||||||
|
|
||||||
@@ -56,7 +57,7 @@ void MakeInputHandlers(CString drivers, vector<InputHandler *> &Add)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if( ret == NULL )
|
if( ret == NULL )
|
||||||
LOG->Warn( "Unknown Input Handler name: %s", s->c_str() );
|
LOG->Trace( "Unknown Input Handler name: %s", s->c_str() );
|
||||||
else
|
else
|
||||||
Add.push_back( ret );
|
Add.push_back( ret );
|
||||||
}
|
}
|
||||||
@@ -84,7 +85,7 @@ void MakeLightsDrivers(CString driver, vector<LightsDriver *> &Add)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if( ret == NULL && driver.CompareNoCase("Null") )
|
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 )
|
else if( ret != NULL )
|
||||||
Add.push_back( ret );
|
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
|
/* 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. */
|
* 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;
|
vector<CString> DriversToTry;
|
||||||
split(drivers, ",", DriversToTry, true);
|
split(drivers, ",", DriversToTry, true);
|
||||||
|
|
||||||
@@ -174,7 +175,7 @@ MemoryCardDriver *MakeMemoryCardDriver()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#include "MovieTexture/Selector_MovieTexture.h"
|
#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. */
|
/* Try drivers in order of preference until we find one that works. */
|
||||||
RageMovieTexture *MakeRageMovieTexture( RageTextureID ID )
|
RageMovieTexture *MakeRageMovieTexture( RageTextureID ID )
|
||||||
{
|
{
|
||||||
@@ -182,7 +183,9 @@ RageMovieTexture *MakeRageMovieTexture(RageTextureID ID)
|
|||||||
|
|
||||||
vector<CString> DriversToTry;
|
vector<CString> DriversToTry;
|
||||||
split( PREFSMAN->GetMovieDrivers(), ",", DriversToTry, true );
|
split( PREFSMAN->GetMovieDrivers(), ",", DriversToTry, true );
|
||||||
ASSERT(DriversToTry.size() != 0);
|
|
||||||
|
if( DriversToTry.empty() )
|
||||||
|
RageException::Throw( "Movie Drivers cannot be empty." );
|
||||||
|
|
||||||
CString Driver;
|
CString Driver;
|
||||||
RageMovieTexture *ret = NULL;
|
RageMovieTexture *ret = NULL;
|
||||||
@@ -205,7 +208,7 @@ RageMovieTexture *MakeRageMovieTexture(RageTextureID ID)
|
|||||||
#endif
|
#endif
|
||||||
if( ret == NULL )
|
if( ret == NULL )
|
||||||
{
|
{
|
||||||
LOG->Warn( "Unknown movie driver name: %s", Driver.c_str() );
|
LOG->Trace( "Unknown movie driver name: %s", Driver.c_str() );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -230,7 +233,8 @@ RageSoundDriver *MakeRageSoundDriver(CString drivers)
|
|||||||
vector<CString> DriversToTry;
|
vector<CString> DriversToTry;
|
||||||
split(drivers, ",", DriversToTry, true);
|
split(drivers, ",", DriversToTry, true);
|
||||||
|
|
||||||
ASSERT( DriversToTry.size() != 0 );
|
if( DriversToTry.empty() )
|
||||||
|
RageException::Throw( "Sound Drivers cannot be empty." );
|
||||||
|
|
||||||
CString Driver;
|
CString Driver;
|
||||||
RageSoundDriver *ret = NULL;
|
RageSoundDriver *ret = NULL;
|
||||||
@@ -289,7 +293,7 @@ RageSoundDriver *MakeRageSoundDriver(CString drivers)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Helper for MakeRageMovieTexture()
|
// Helper for MakeRageMovieTexture()
|
||||||
static void DumpAVIDebugInfo( CString fn )
|
static void DumpAVIDebugInfo( const CString& fn )
|
||||||
{
|
{
|
||||||
CString type, handler;
|
CString type, handler;
|
||||||
if( !RageMovieTexture::GetFourCC( fn, handler, type ) )
|
if( !RageMovieTexture::GetFourCC( fn, handler, type ) )
|
||||||
|
|||||||
Reference in New Issue
Block a user