From 2678b12a368dee19c01b42a41e15980002f01d18 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 15 Jan 2014 15:48:51 +0600 Subject: Fix T38216: Cycles render crash Blender in some scene in versions Issue was caused by evaluation flags getter function polluting the DAG. Need to use dag_find_node() instead. Still need to doublecheck exporting objects with curve deform works properly. On the first thought it should, but might be wrong again. --- source/blender/blenkernel/intern/depsgraph.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index b9cbd6d2019..539ed8f2e57 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -2910,8 +2910,18 @@ const char *DAG_get_node_name(void *node_v) short DAG_get_eval_flags_for_object(struct Scene *scene, void *object) { - DagNode *node = dag_get_node(scene->theDag, object); - return node->eval_flags; + DagNode *node = dag_find_node(scene->theDag, object); + + if (node) { + return node->eval_flags; + } + else { + /* Happens when external render engine exports temporary objects + * which are not in the DAG. + */ + /* TODO(sergey): Doublecheck objects with Curve Deform exports all fine. */ + return 0; + } } bool DAG_is_acyclic(Scene *scene) -- cgit v1.2.3