aboutsummaryrefslogtreecommitdiffstats
path: root/code/qcommon
diff options
context:
space:
mode:
authorthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-08-28 00:44:59 +0000
committerthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-08-28 00:44:59 +0000
commitc200b936e78a1d7fa6326aff5fb15699f9b78f3d (patch)
treeb8dd7ba4ffd13b325ff39080901cdc81faa80dde /code/qcommon
parent0392e2ec916bdd801717e4c61a1e102294964c4d (diff)
downloadioquake3-aero-c200b936e78a1d7fa6326aff5fb15699f9b78f3d.tar.gz
ioquake3-aero-c200b936e78a1d7fa6326aff5fb15699f9b78f3d.zip
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. git-svn-id: svn://svn.icculus.org/quake3/trunk@878 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/qcommon')
-rw-r--r--code/qcommon/common.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/code/qcommon/common.c b/code/qcommon/common.c
index 438f049..efb7851 100644
--- a/code/qcommon/common.c
+++ b/code/qcommon/common.c
@@ -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 ();