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.
This commit is contained in:
@@ -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)
|
short DAG_get_eval_flags_for_object(struct Scene *scene, void *object)
|
||||||
{
|
{
|
||||||
DagNode *node = dag_get_node(scene->theDag, object);
|
DagNode *node = dag_find_node(scene->theDag, object);
|
||||||
|
|
||||||
|
if (node) {
|
||||||
return node->eval_flags;
|
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)
|
bool DAG_is_acyclic(Scene *scene)
|
||||||
|
Reference in New Issue
Block a user