Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-04-04 10:42:35 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-04-04 10:46:08 +0400
commit71a2ff12a81bbe2a05ae83056bcb107e211265f2 (patch)
tree6187c456e1a1a329777b68948f88fb74f1466a9f /source/blender/blenkernel/intern/scene.c
parent45b02cee471dd75d54fc74d3bd6072ac7689d205 (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.c2
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. */