Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2017-07-17 19:31:27 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-07-18 11:05:16 +0300
commit3534c3e0df7dc454458d0406b9b9d1098c88fe3f (patch)
tree6f8f04b9f68f824fbff44781657dc07b27446812
parentfe8fc79cee3647ab51c4587dfd279a815c93d062 (diff)
Eevee: Avoid crash when using dupli objects.
This is waiting a for a better solution.
-rw-r--r--source/blender/draw/engines/eevee/eevee_engine.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c
index 1f178fb1302..fe802e6d627 100644
--- a/source/blender/draw/engines/eevee/eevee_engine.c
+++ b/source/blender/draw/engines/eevee/eevee_engine.c
@@ -97,9 +97,14 @@ static void EEVEE_cache_populate(void *vedata, Object *ob)
const bool cast_shadow = true;
if (cast_shadow) {
- BLI_addtail(&sldata->shadow_casters, BLI_genericNodeN(ob));
- EEVEE_ObjectEngineData *oedata = EEVEE_object_data_get(ob);
- oedata->need_update = ((ob->deg_update_flag & DEG_RUNTIME_DATA_UPDATE) != 0);
+ if ((ob->base_flag & BASE_FROMDUPLI) != 0) {
+ /* TODO: Special case for dupli objects because we cannot save the object pointer. */
+ }
+ else {
+ BLI_addtail(&sldata->shadow_casters, BLI_genericNodeN(ob));
+ EEVEE_ObjectEngineData *oedata = EEVEE_object_data_get(ob);
+ oedata->need_update = ((ob->deg_update_flag & DEG_RUNTIME_DATA_UPDATE) != 0);
+ }
}
}
else if (ob->type == OB_LIGHTPROBE) {