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:
authorHans Goudey <h.goudey@me.com>2021-08-31 19:12:07 +0300
committerHans Goudey <h.goudey@me.com>2021-08-31 19:12:07 +0300
commitcfc674408ee62e0f7f6b41aff0d1ef4a9fedf6db (patch)
treebadcf40f915d0747045e7fb13d7f58fa956d3477 /source/blender/blenloader
parent596f1878b69ce078f936528cc66d1a985d4c6498 (diff)
Fix T91084: Missing versioning for object pose bone property UI data
Objects also have a list of "bone" pose channels embedded directly. These properties are user visible, so their UI data should be versioned.
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r--source/blender/blenloader/intern/versioning_300.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/source/blender/blenloader/intern/versioning_300.c b/source/blender/blenloader/intern/versioning_300.c
index 136ea786903..2049fb7b9b4 100644
--- a/source/blender/blenloader/intern/versioning_300.c
+++ b/source/blender/blenloader/intern/versioning_300.c
@@ -276,15 +276,22 @@ static void do_versions_idproperty_ui_data(Main *bmain)
}
}
- /* The UI data from exposed node modifier properties is just copied from the corresponding node
- * group, but the copying only runs when necessary, so we still need to version UI data here. */
LISTBASE_FOREACH (Object *, ob, &bmain->objects) {
+ /* The UI data from exposed node modifier properties is just copied from the corresponding node
+ * group, but the copying only runs when necessary, so we still need to version data here. */
LISTBASE_FOREACH (ModifierData *, md, &ob->modifiers) {
if (md->type == eModifierType_Nodes) {
NodesModifierData *nmd = (NodesModifierData *)md;
version_idproperty_ui_data(nmd->settings.properties);
}
}
+
+ /* Object post bones. */
+ if (ob->type == OB_ARMATURE && ob->pose != NULL) {
+ LISTBASE_FOREACH (bPoseChannel *, pchan, &ob->pose->chanbase) {
+ version_idproperty_ui_data(pchan->prop);
+ }
+ }
}
/* Sequences. */
@@ -979,7 +986,8 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
}
}
- /* Fix SplineIK constraint's inconsistency between binding points array and its stored size. */
+ /* Fix SplineIK constraint's inconsistency between binding points array and its stored size.
+ */
LISTBASE_FOREACH (Object *, ob, &bmain->objects) {
/* NOTE: Objects should never have SplineIK constraint, so no need to apply this fix on
* their constraints. */
@@ -1047,8 +1055,8 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
}
FOREACH_NODETREE_END;
- /* Disable Fade Inactive Overlay by default as it is redundant after introducing flash on mode
- * transfer. */
+ /* Disable Fade Inactive Overlay by default as it is redundant after introducing flash on
+ * mode transfer. */
for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) {