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/intern/scene.c | |
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/intern/scene.c')
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 9aca3ac87b6..269a367b530 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -1340,7 +1340,7 @@ static void scene_update_object_func(TaskPool *pool, void *taskdata, int threadi } else { PRINT("Threda %d: update node %s\n", threadid, - DAG_get_node_name(node)); + DAG_get_node_name(scene, node)); } /* Update will decrease child's valency and schedule child with zero valency. */ |