[Bf-blender-cvs] [3534c3e0df7] blender2.8: Eevee: Avoid crash when using dupli objects.

Clément Foucault noreply at git.blender.org
Tue Jul 18 10:11:41 CEST 2017


Commit: 3534c3e0df7dc454458d0406b9b9d1098c88fe3f
Author: Clément Foucault
Date:   Mon Jul 17 18:31:27 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB3534c3e0df7dc454458d0406b9b9d1098c88fe3f

Eevee: Avoid crash when using dupli objects.

This is waiting a for a better solution.

===================================================================

M	source/blender/draw/engines/eevee/eevee_engine.c

===================================================================

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) {




More information about the Bf-blender-cvs mailing list