Datablock management: remove 'proxy_from' pointer from 'is ID used' checks.

Pretty much same reason as for the 'from' pointer of shapekeys - runtime
data creating loops and 'ghost' dependencies between datablocks.

We need to handle them in cases like remapping, but whall not take them
into account to check dependencies between datablocks... :/
This commit is contained in:
Bastien Montagne
2016-10-07 10:20:40 +02:00
parent e7981a3e93
commit 0f88a3546c

View File

@@ -1036,6 +1036,10 @@ static int foreach_libblock_id_users_callback(void *user_data, ID *self_id, ID *
if ((GS(self_id->name) == ID_KE) && (((Key *)self_id)->from == *id_p)) {
return IDWALK_RET_NOP;
}
/* XXX another hack, for similar reasons as above one. */
if ((GS(self_id->name) == ID_OB) && (((Object *)self_id)->proxy_from == (Object *)*id_p)) {
return IDWALK_RET_NOP;
}
if (*id_p && (*id_p == iter->id)) {
#if 0