From: havoc Date: Fri, 14 Jan 2005 23:39:47 +0000 (+0000) Subject: fixed a crash with lights that have no clusters (a light outside the level) by alloca... X-Git-Tag: xonotic-v0.1.0preview~5216 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=75ed014650cc6c57abc48b854fb60f78bc249eab;p=xonotic%2Fdarkplaces.git 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 --- 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); }