diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-01-15 13:48:51 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-01-15 13:54:27 +0400 |
commit | 2678b12a368dee19c01b42a41e15980002f01d18 (patch) | |
tree | 3af06c47c140f481cf4e2f97a893f29d5fd96f0f | |
parent | 6ba02681decaf34f618e3519f6ad7f49604750cd (diff) |
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.
-rw-r--r-- | source/blender/blenkernel/intern/depsgraph.c | 14 |
1 files changed, 12 insertions, 2 deletions
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) |