aboutsummaryrefslogtreecommitdiffstats
path: root/code
diff options
context:
space:
mode:
authorthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2008-04-29 22:49:37 +0000
committerthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2008-04-29 22:49:37 +0000
commit85058284a009de6f425843e29ce6529edcb80688 (patch)
treed10f9054a6bb44b9bcb6eb20bc9da7366f58d267 /code
parent7baf9d65ca93c5747a565e6cde00380e9fd9880b (diff)
downloadioquake3-aero-85058284a009de6f425843e29ce6529edcb80688.tar.gz
ioquake3-aero-85058284a009de6f425843e29ce6529edcb80688.zip
Make forced unloading work in more cases than just server disconnects
git-svn-id: svn://svn.icculus.org/quake3/trunk@1333 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code')
-rw-r--r--code/qcommon/common.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/code/qcommon/common.c b/code/qcommon/common.c
index d7b6cb2..7e695db 100644
--- a/code/qcommon/common.c
+++ b/code/qcommon/common.c
@@ -289,7 +289,9 @@ void QDECL Com_Error( int code, const char *fmt, ... ) {
Com_Printf ("********************\nERROR: %s\n********************\n", com_errorMessage);
SV_Shutdown (va("Server crashed: %s", com_errorMessage));
CL_Disconnect( qtrue );
+ VM_Forced_Unload_Start();
CL_FlushMemory( );
+ VM_Forced_Unload_Done();
FS_PureServerSetLoadedPaks("", "");
com_errorEntered = qfalse;
longjmp (abortframe, -1);
@@ -297,7 +299,9 @@ void QDECL Com_Error( int code, const char *fmt, ... ) {
SV_Shutdown( "Server didn't have CD" );
if ( com_cl_running && com_cl_running->integer ) {
CL_Disconnect( qtrue );
+ VM_Forced_Unload_Start();
CL_FlushMemory( );
+ VM_Forced_Unload_Done();
com_errorEntered = qfalse;
CL_CDDialog();
} else {