diff options
author | Jacques Lucke <jacques@blender.org> | 2021-10-01 12:36:10 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-10-01 12:36:10 +0300 |
commit | 7843cd63d8bbf15b1c6c2e68bee34546966d4a6b (patch) | |
tree | 5611ec7a4641630390c06bb3daa6162eec7ed16e /source/blender | |
parent | ae4b45145c8b61199e7fe3d3b862cf473fe5769e (diff) |
Fix T91839: incorrect active vertex group index
Differential Revision: https://developer.blender.org/D12712
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenloader/intern/versioning_300.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/versioning_300.c b/source/blender/blenloader/intern/versioning_300.c index e65fd3e6754..11b6ad9b8ea 100644 --- a/source/blender/blenloader/intern/versioning_300.c +++ b/source/blender/blenloader/intern/versioning_300.c @@ -376,6 +376,7 @@ static void move_vertex_group_names_to_object_data(Main *bmain) /* Clear the list in case the it was already assigned from another object. */ BLI_freelistN(new_defbase); *new_defbase = object->defbase; + BKE_object_defgroup_active_index_set(object, object->actdef); } } } @@ -628,6 +629,16 @@ void do_versions_after_linking_300(Main *bmain, ReportList *UNUSED(reports)) */ { /* Keep this block, even when empty. */ + + /* This was missing from #move_vertex_group_names_to_object_data. */ + LISTBASE_FOREACH (Object *, object, &bmain->objects) { + if (ELEM(object->type, OB_MESH, OB_LATTICE, OB_GPENCIL)) { + /* This uses the fact that the active vertex group index starts counting at 1. */ + if (BKE_object_defgroup_active_index_get(object) == 0) { + BKE_object_defgroup_active_index_set(object, object->actdef); + } + } + } } } |