Fix #111789: Anim, bone collections not created when linking armature

Linking the armature ID directly, instead of the object containing the
armature, did not run the versioning code to create bone collections
from armature layers and bone groups.

Bone groups cannot be versioned into bone collections in this case, as
they only exist on the Object.

Bone layers are now properly versioned.
This commit is contained in:
Sybren A. Stüvel 2023-09-04 10:49:10 +02:00
parent 102bdfaed7
commit 136b311196

@ -120,12 +120,7 @@ static void version_bonelayers_to_bonecollections(Main *bmain)
char bcoll_name[MAX_NAME];
char custom_prop_name[MAX_NAME];
LISTBASE_FOREACH (Object *, ob, &bmain->objects) {
if (ob->type != OB_ARMATURE || !ob->pose) {
continue;
}
bArmature *arm = reinterpret_cast<bArmature *>(ob->data);
LISTBASE_FOREACH (bArmature *, arm, &bmain->armatures) {
IDProperty *arm_idprops = IDP_GetProperties(&arm->id, false);
BLI_assert_msg(arm->edbo == nullptr, "did not expect an Armature to be saved in edit mode");