From 4a82d792b03b61baed6d70bed288291c72f1e3b8 Mon Sep 17 00:00:00 2001 From: Aristotelis Dossas Date: Thu, 10 Sep 2020 14:31:17 +0200 Subject: [PATCH] Fix T79737: ERROR ACCESS VIOLATION when switching to eevee rendered view This prevents Blender from crashing when switching to rendered view and the grid_data is NULL in the lightcache (due to possible corruption), by switching to the fallback lightcache. The fix extends the solution for possible corruption in the cube_data as well. Fix T79737 Reviewed By: fclem Differential Revision: https://developer.blender.org/D8835 --- source/blender/draw/engines/eevee/eevee_lightcache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/draw/engines/eevee/eevee_lightcache.c b/source/blender/draw/engines/eevee/eevee_lightcache.c index f23cca41215..4904f34a00b 100644 --- a/source/blender/draw/engines/eevee/eevee_lightcache.c +++ b/source/blender/draw/engines/eevee/eevee_lightcache.c @@ -388,8 +388,8 @@ LightCache *EEVEE_lightcache_create(const int grid_len, static bool eevee_lightcache_static_load(LightCache *lcache) { /* We use fallback if a texture is not setup and there is no data to restore it. */ - if ((!lcache->grid_tx.tex && !lcache->grid_tx.data) || - (!lcache->cube_tx.tex && !lcache->cube_tx.data)) { + if ((!lcache->grid_tx.tex && !lcache->grid_tx.data) || !lcache->grid_data || + (!lcache->cube_tx.tex && !lcache->cube_tx.data) || !lcache->cube_data) { return false; } /* If cache is too big for this GPU. */