diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_darwin.cpp b/stepmania/src/arch/ArchHooks/ArchHooks_darwin.cpp index 3a64cbe0c5..26f8325685 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_darwin.cpp +++ b/stepmania/src/arch/ArchHooks/ArchHooks_darwin.cpp @@ -24,6 +24,7 @@ enum { }; OSStatus HandleException(ExceptionInformation *theException); +void HandleQTMovieError(OSErr err, long refcon); ArchHooks_darwin::ArchHooks_darwin() { @@ -44,6 +45,8 @@ ArchHooks_darwin::ArchHooks_darwin() exit(0); } InstallExceptionHandler(HandleException); + ASSERT(GetMoviesError() == noErr); + SetMoviesErrorProc(HandleQTMovieError, 0); err = EnterMovies(); ASSERT(err == noErr); } @@ -311,3 +314,11 @@ inline void ArchHooks_darwin::Update(float delta) if (__builtin_expect(err, noErr)) RageException::Throw("MoviesTask failed with error: %d", err); } + +void HandleQTMovieError(OSErr err, long refcon) +{ + LOG->Warn("A movie error occured. Error number %d.", err); +#if defined(DEBUG) + ASSERT(0); +#endif +}