diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-04-04 10:42:35 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-04-04 10:46:08 +0400 |
commit | 71a2ff12a81bbe2a05ae83056bcb107e211265f2 (patch) | |
tree | 6187c456e1a1a329777b68948f88fb74f1466a9f /source/blender/blenkernel/depsgraph_private.h | |
parent | 45b02cee471dd75d54fc74d3bd6072ac7689d205 (diff) |
Fix crash happening in DAG_pose_sort() due to threading issues
This function used ugly hack with static variable which was
preventing some type checks in DAG nodes. Using this variable
form multiple threads is not considered safe, apparently.
Solved by moving this variable inside the DAGForest structure.
so it's global for the graph now, but different graphs does not
run into conflicts.
This required passing the forest to some functions, which doesn't
look so much nice, but don't want to spend time on making this
code look beautiful because it is really to be replaced by the
new dependency graph.
This is really bad bug actually which is must go to 'a'.
Diffstat (limited to 'source/blender/blenkernel/depsgraph_private.h')
-rw-r--r-- | source/blender/blenkernel/depsgraph_private.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/blenkernel/depsgraph_private.h b/source/blender/blenkernel/depsgraph_private.h index e61d47e87f4..0ab633701c1 100644 --- a/source/blender/blenkernel/depsgraph_private.h +++ b/source/blender/blenkernel/depsgraph_private.h @@ -129,6 +129,7 @@ typedef struct DagForest { int numNodes; bool is_acyclic; int time; /* for flushing/tagging, compare with node->lasttime */ + bool ugly_hack_sorry; /* prevent type check */ } DagForest; // queue operations |