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/depsgraph_private.h
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/depsgraph_private.h')
-rw-r--r--source/blender/blenkernel/depsgraph_private.h1
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