Fix for crash caused by effectors doing precalculation //during// DAG
authorLukas Tönne <lukas.toenne@gmail.com>
Fri, 14 Feb 2014 11:54:42 +0000 (12:54 +0100)
committerLukas Tönne <lukas.toenne@gmail.com>
Fri, 14 Feb 2014 11:58:43 +0000 (12:58 +0100)
commit30c9fe19a31f6f92be4de2abacb9fd96179a9a04
tree98334e36b5bc88b731eafa463055bad8768d46d3
parent32b45cb4a7adeae637e02c3a8da87e28844e587f
Fix for crash caused by effectors doing precalculation //during// DAG
updates.

This file crashes on loading with NULL pointer access to curve_cache:
{F77132}

The pdInitEffectors function was amalgamating the simple
collection of effector objects with an automatic precalculation for
curve guides and the like. This precalculation requires object data
that may not be available until the DAG has finished.

Since for DAG dependencies only the list of effectors is required,
added an argument to disable precalculation when collecting effectors.
source/blender/blenkernel/BKE_effect.h
source/blender/blenkernel/intern/cloth.c
source/blender/blenkernel/intern/depsgraph.c
source/blender/blenkernel/intern/dynamicpaint.c
source/blender/blenkernel/intern/effect.c
source/blender/blenkernel/intern/particle_system.c
source/blender/blenkernel/intern/rigidbody.c
source/blender/blenkernel/intern/smoke.c
source/blender/blenkernel/intern/softbody.c