Fix T72625: Outliner visibility keying doesn't carry over from 2.79b

During development of Blender 2.80 the `Object.hide` property was removed,
and later reintroduced in rB5e968a996a53 as `Object.hide_viewport`. Of
course there are some technical details missing in this summary, but this
is the view that's given in the 2.80 release notes.

FCurves on `Object.hide` weren't updated in versioning code, resulting in
the property no longer being animated. This commit corrects the RNA path
of such FCurves.
This commit is contained in:
Sybren A. Stüvel 2020-01-14 17:08:22 +01:00
parent d51dcaf104
commit a560a46f32
Notes: blender-bot 2023-02-14 11:34:30 +01:00
Referenced by issue #72625, Outliner visibility keying doesn't carry over from 2.79b
1 changed files with 20 additions and 0 deletions

View File

@ -1091,6 +1091,18 @@ static void do_version_curvemapping_walker(Main *bmain, void (*callback)(CurveMa
}
}
static void do_version_fcurve_hide_viewport_fix(struct ID *UNUSED(id),
struct FCurve *fcu,
void *UNUSED(user_data))
{
if (strcmp(fcu->rna_path, "hide")) {
return;
}
MEM_freeN(fcu->rna_path);
fcu->rna_path = BLI_strdupn("hide_viewport", 13);
}
void do_versions_after_linking_280(Main *bmain, ReportList *UNUSED(reports))
{
bool use_collection_compat_28 = true;
@ -1524,6 +1536,14 @@ void do_versions_after_linking_280(Main *bmain, ReportList *UNUSED(reports))
}
}
}
{
/* During development of Blender 2.80 the "Object.hide" property was
* removed, and reintroduced in 5e968a996a53 as "Object.hide_viewport". */
LISTBASE_FOREACH (Object *, ob, &bmain->objects) {
BKE_fcurves_id_cb(&ob->id, do_version_fcurve_hide_viewport_fix, NULL);
}
}
}
/* NOTE: This version patch is intended for versions < 2.52.2,