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:
authorSybren A. Stüvel <sybren@blender.org>2020-01-21 19:58:49 +0300
committerSybren A. Stüvel <sybren@blender.org>2020-01-21 19:58:49 +0300
commit7dc4477784be73220111a1c757ea24a3063aa51a (patch)
tree11d6e3eb7e29aed80c9762311afad6ebc2700976 /source/blender/blenkernel/intern/object.c
parent6cfdd882d7ef1196f47dc0a37506db39324f24fd (diff)
parent5168408ae50a052d2a9fa795ebdb18820d5b1d67 (diff)
Merge remote-tracking branch 'origin/blender-v2.82-release'
Diffstat (limited to 'source/blender/blenkernel/intern/object.c')
-rw-r--r--source/blender/blenkernel/intern/object.c48
1 files changed, 23 insertions, 25 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 7f318ab634b..d0bbbe997cb 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -2332,40 +2332,38 @@ static void give_parvert(Object *par, int nr, float vec[3])
int count = 0;
const int numVerts = me_eval->totvert;
- if (nr < numVerts) {
- if (em && me_eval->runtime.is_original) {
- if (em->bm->elem_table_dirty & BM_VERT) {
+ if (em && me_eval->runtime.is_original) {
+ if (em->bm->elem_table_dirty & BM_VERT) {
#ifdef VPARENT_THREADING_HACK
- BLI_mutex_lock(&vparent_lock);
- if (em->bm->elem_table_dirty & BM_VERT) {
- BM_mesh_elem_table_ensure(em->bm, BM_VERT);
- }
- BLI_mutex_unlock(&vparent_lock);
-#else
- BLI_assert(!"Not safe for threading");
+ BLI_mutex_lock(&vparent_lock);
+ if (em->bm->elem_table_dirty & BM_VERT) {
BM_mesh_elem_table_ensure(em->bm, BM_VERT);
-#endif
}
+ BLI_mutex_unlock(&vparent_lock);
+#else
+ BLI_assert(!"Not safe for threading");
+ BM_mesh_elem_table_ensure(em->bm, BM_VERT);
+#endif
}
+ }
- if (CustomData_has_layer(&me_eval->vdata, CD_ORIGINDEX) &&
- !(em && me_eval->runtime.is_original)) {
- const int *index = CustomData_get_layer(&me_eval->vdata, CD_ORIGINDEX);
- /* Get the average of all verts with (original index == nr). */
- for (int i = 0; i < numVerts; i++) {
- if (index[i] == nr) {
- add_v3_v3(vec, me_eval->mvert[i].co);
- count++;
- }
- }
- }
- else {
- if (nr < numVerts) {
- add_v3_v3(vec, me_eval->mvert[nr].co);
+ if (CustomData_has_layer(&me_eval->vdata, CD_ORIGINDEX) &&
+ !(em && me_eval->runtime.is_original)) {
+ const int *index = CustomData_get_layer(&me_eval->vdata, CD_ORIGINDEX);
+ /* Get the average of all verts with (original index == nr). */
+ for (int i = 0; i < numVerts; i++) {
+ if (index[i] == nr) {
+ add_v3_v3(vec, me_eval->mvert[i].co);
count++;
}
}
}
+ else {
+ if (nr < numVerts) {
+ add_v3_v3(vec, me_eval->mvert[nr].co);
+ count++;
+ }
+ }
if (count == 0) {
/* keep as 0, 0, 0 */