]> de.git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
fix crash when r_framedatasize increases
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 14 Dec 2009 05:02:15 +0000 (05:02 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 14 Dec 2009 05:02:15 +0000 (05:02 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9582 d7cf8633-e32d-0410-b094-e92efae38249

gl_rmain.c

index 8ae405774f50bf6e6f6d05a8e47b97765df0bfbb..e9800542d5c9d9802cb219a03a3b82658e978672 100644 (file)
@@ -3377,6 +3377,7 @@ void R_FrameData_Reset(void)
        r_framedata_base = NULL;
        r_framedata_size = 0;
        r_framedata_current = 0;
+       r_framedata_failed = false;
 }
 
 void R_FrameData_NewFrame(void)
@@ -3386,11 +3387,12 @@ void R_FrameData_NewFrame(void)
                Cvar_SetValueQuick(&r_framedatasize, r_framedatasize.value * 1.25f);
        wantedsize = (size_t)(r_framedatasize.value * 1024*1024);
        wantedsize = bound(65536, wantedsize, 128*1024*1024);
-       if (r_framedata_size < wantedsize)
+       if (r_framedata_size != wantedsize)
        {
                r_framedata_size = wantedsize;
-               if (!r_framedata_base)
-                       r_framedata_base = Mem_Alloc(r_main_mempool, r_framedata_size);
+               if (r_framedata_base);
+                       Mem_Free(r_framedata_base);
+               r_framedata_base = Mem_Alloc(r_main_mempool, r_framedata_size);
        }
        r_framedata_current = 0;
        r_framedata_failed = false;