Cleanup: Always keep unlock at same level as lock.
This was fine in those cases with current code, but that kind of assumption is always risky, and an open door to hard-to-track bugs when code changes in the future...
This commit is contained in:
parent
84f7de432c
commit
e2e87efea2
Notes:
blender-bot
2023-02-14 06:00:45 +01:00
Referenced by issue #78285, If object is reference for 2 shrinkwraps, entering it`s edit mode crashes Blender.
|
@ -717,11 +717,14 @@ BVHTree *bvhtree_from_mesh_verts_ex(BVHTreeFromMesh *data,
|
|||
/* printf("BVHTree built and saved on cache\n"); */
|
||||
BVHCache *bvh_cache = *bvh_cache_p;
|
||||
bvhcache_insert(bvh_cache, tree, bvh_cache_type);
|
||||
bvhcache_unlock(bvh_cache, lock_started);
|
||||
in_cache = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (bvh_cache_p) {
|
||||
bvhcache_unlock(*bvh_cache_p, lock_started);
|
||||
}
|
||||
|
||||
/* Setup BVHTreeFromMesh */
|
||||
bvhtree_from_mesh_verts_setup_data(data, tree, in_cache, vert, vert_allocated);
|
||||
|
||||
|
@ -929,11 +932,14 @@ BVHTree *bvhtree_from_mesh_edges_ex(BVHTreeFromMesh *data,
|
|||
/* Save on cache for later use */
|
||||
/* printf("BVHTree built and saved on cache\n"); */
|
||||
bvhcache_insert(bvh_cache, tree, bvh_cache_type);
|
||||
bvhcache_unlock(bvh_cache, lock_started);
|
||||
in_cache = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (bvh_cache_p) {
|
||||
bvhcache_unlock(*bvh_cache_p, lock_started);
|
||||
}
|
||||
|
||||
/* Setup BVHTreeFromMesh */
|
||||
bvhtree_from_mesh_edges_setup_data(
|
||||
data, tree, in_cache, vert, vert_allocated, edge, edge_allocated);
|
||||
|
@ -1058,11 +1064,14 @@ BVHTree *bvhtree_from_mesh_faces_ex(BVHTreeFromMesh *data,
|
|||
/* printf("BVHTree built and saved on cache\n"); */
|
||||
BVHCache *bvh_cache = *bvh_cache_p;
|
||||
bvhcache_insert(bvh_cache, tree, bvh_cache_type);
|
||||
bvhcache_unlock(bvh_cache, lock_started);
|
||||
in_cache = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (bvh_cache_p) {
|
||||
bvhcache_unlock(*bvh_cache_p, lock_started);
|
||||
}
|
||||
|
||||
/* Setup BVHTreeFromMesh */
|
||||
bvhtree_from_mesh_faces_setup_data(
|
||||
data, tree, in_cache, vert, vert_allocated, face, face_allocated);
|
||||
|
@ -1298,11 +1307,14 @@ BVHTree *bvhtree_from_mesh_looptri_ex(BVHTreeFromMesh *data,
|
|||
if (bvh_cache_p) {
|
||||
BVHCache *bvh_cache = *bvh_cache_p;
|
||||
bvhcache_insert(bvh_cache, tree, bvh_cache_type);
|
||||
bvhcache_unlock(bvh_cache, lock_started);
|
||||
in_cache = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (bvh_cache_p) {
|
||||
bvhcache_unlock(*bvh_cache_p, lock_started);
|
||||
}
|
||||
|
||||
/* Setup BVHTreeFromMesh */
|
||||
bvhtree_from_mesh_looptri_setup_data(data,
|
||||
tree,
|
||||
|
|
Loading…
Reference in New Issue