Fix T55076: Hack around to break correct behavior of 2.8 and get back broken-used-as-feature one from 2.7.
Locked bones of proxies should not be editable, at all. But lack of update from linked rest pose in 2.7 allows to pose and animate locked bones (not to pose them without animation though, or you'd lose your pose on next file save & reload). this is used by artists to always lock all their bones in a rig, so that proxies fully update when lib rig is modified... For now, restore that broken behavior in 2.8 by not updating proxies against lib armature in CoW context (makes sense anyway, we are currently doing a lot of useless thing when copying data for depsgraph evaluation!).
This commit is contained in:
parent
2ba0951e52
commit
f0c0d11ea2
Notes:
blender-bot
2023-02-14 05:52:28 +01:00
Referenced by issue #55076, Proxy bones not moving
|
@ -1991,7 +1991,9 @@ void BKE_pose_rebuild(Object *ob, bArmature *arm)
|
|||
/* printf("rebuild pose %s, %d bones\n", ob->id.name, counter); */
|
||||
|
||||
/* synchronize protected layers with proxy */
|
||||
if (ob->proxy) {
|
||||
/* HACK! To preserve 2.7x behavior that you always can pose even locked bones,
|
||||
* do not do any restauration if this is a COW temp copy! */
|
||||
if (ob->proxy != NULL && (ob->id.tag & LIB_TAG_COPY_ON_WRITE) == 0) {
|
||||
BKE_object_copy_proxy_drivers(ob, ob->proxy);
|
||||
pose_proxy_synchronize(ob, ob->proxy, arm->layer_protected);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue