From 75ed014650cc6c57abc48b854fb60f78bc249eab Mon Sep 17 00:00:00 2001 From: havoc Date: Fri, 14 Jan 2005 23:39:47 +0000 Subject: [PATCH] fixed a crash with lights that have no clusters (a light outside the level) by allocating the clusterpvs even if there are no clusters git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4933 d7cf8633-e32d-0410-b094-e92efae38249 --- r_shadow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/r_shadow.c b/r_shadow.c index fde1b98e..fab1295b 100644 --- a/r_shadow.c +++ b/r_shadow.c @@ -2230,12 +2230,12 @@ void R_RTLight_Compile(rtlight_t *rtlight) R_Shadow_EnlargeClusterBuffer(model->brush.num_pvsclusters); R_Shadow_EnlargeSurfaceBuffer(model->nummodelsurfaces); model->GetLightInfo(ent, rtlight->shadoworigin, rtlight->radius, rtlight->cullmins, rtlight->cullmaxs, r_shadow_buffer_clusterlist, r_shadow_buffer_clusterpvs, &numclusters, r_shadow_buffer_surfacelist, r_shadow_buffer_surfacepvs, &numsurfaces); + rtlight->static_numclusterpvsbytes = (model->brush.num_pvsclusters + 7) >> 3; + rtlight->static_clusterpvs = Mem_Alloc(r_shadow_mempool, rtlight->static_numclusterpvsbytes); if (numclusters) { rtlight->static_numclusters = numclusters; - rtlight->static_numclusterpvsbytes = (model->brush.num_pvsclusters + 7) >> 3; rtlight->static_clusterlist = Mem_Alloc(r_shadow_mempool, rtlight->static_numclusters * sizeof(*rtlight->static_clusterlist)); - rtlight->static_clusterpvs = Mem_Alloc(r_shadow_mempool, rtlight->static_numclusterpvsbytes); memcpy(rtlight->static_clusterlist, r_shadow_buffer_clusterlist, rtlight->static_numclusters * sizeof(*rtlight->static_clusterlist)); memcpy(rtlight->static_clusterpvs, r_shadow_buffer_clusterpvs, rtlight->static_numclusterpvsbytes); } -- 2.39.2