diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-07-17 19:31:27 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-07-18 11:05:16 +0300 |
commit | 3534c3e0df7dc454458d0406b9b9d1098c88fe3f (patch) | |
tree | 6f8f04b9f68f824fbff44781657dc07b27446812 | |
parent | fe8fc79cee3647ab51c4587dfd279a815c93d062 (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.c | 11 |
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) { |