Fix crash when recording to files and the map changes. Was caused by new, correct, behaviour of

FS_Restart() which would close the files before they'd be closed by the client.
This commit is contained in:
Thilo Schulz 2006-08-28 00:44:59 +00:00
parent 591e11e740
commit fbfc886b22
4 changed files with 16 additions and 4 deletions

View file

@ -262,9 +262,6 @@ void QDECL Com_Error( int code, const char *fmt, ... ) {
code = ERR_FATAL;
}
// make sure we can get at our local stuff
FS_PureServerSetLoadedPaks( "", "" );
// if we are getting a solid stream of ERR_DROP, do an ERR_FATAL
currentTime = Sys_Milliseconds();
if ( currentTime - lastErrorTime < 100 ) {
@ -292,6 +289,8 @@ void QDECL Com_Error( int code, const char *fmt, ... ) {
if ( code == ERR_SERVERDISCONNECT ) {
CL_Disconnect( qtrue );
CL_FlushMemory( );
// make sure we can get at our local stuff
FS_PureServerSetLoadedPaks("", "");
com_errorEntered = qfalse;
longjmp (abortframe, -1);
} else if ( code == ERR_DROP || code == ERR_DISCONNECT ) {
@ -299,6 +298,7 @@ void QDECL Com_Error( int code, const char *fmt, ... ) {
SV_Shutdown (va("Server crashed: %s", com_errorMessage));
CL_Disconnect( qtrue );
CL_FlushMemory( );
FS_PureServerSetLoadedPaks("", "");
com_errorEntered = qfalse;
longjmp (abortframe, -1);
} else if ( code == ERR_NEED_CD ) {
@ -311,6 +311,7 @@ void QDECL Com_Error( int code, const char *fmt, ... ) {
} else {
Com_Printf("Server didn't have CD\n" );
}
FS_PureServerSetLoadedPaks("", "");
longjmp (abortframe, -1);
} else {
CL_Shutdown ();