]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - csprogs.c
In prog reset functions, do not call functions unless prog->loaded.
[xonotic/darkplaces.git] / csprogs.c
index 36cecf839c7910678adc9b18fa1d176e00e7ea34..fa5e690b1ecf6ef064667325237e7a6ab0bd207e 100644 (file)
--- a/csprogs.c
+++ b/csprogs.c
@@ -1160,10 +1160,13 @@ void CL_VM_ShutDown (void)
        if(!cl.csqc_loaded)
                return;
        CSQC_BEGIN
-               PRVM_clientglobalfloat(time) = cl.time;
-               PRVM_clientglobaledict(self) = 0;
-               if (PRVM_clientfunction(CSQC_Shutdown))
-                       prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Shutdown), "QC function CSQC_Shutdown is missing");
+               if (prog->loaded)
+               {
+                       PRVM_clientglobalfloat(time) = cl.time;
+                       PRVM_clientglobaledict(self) = 0;
+                       if (PRVM_clientfunction(CSQC_Shutdown))
+                               prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Shutdown), "QC function CSQC_Shutdown is missing");
+               }
                PRVM_Prog_Reset(prog);
        CSQC_END
        Con_DPrint("CSQC ^1unloaded\n");