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:
authorBastien Montagne <montagne29@wanadoo.fr>2016-10-07 11:20:40 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2016-10-07 11:20:40 +0300
commit0f88a3546cbd020af3f5c47b049ae4ecc6bc54ba (patch)
tree8f2ee9c1489f9aded0beb5b2d20b55717500b0fd
parente7981a3e93be84d7e141d43dfd4516cfcb271ec3 (diff)
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... :/
-rw-r--r--source/blender/blenkernel/intern/library_query.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/library_query.c b/source/blender/blenkernel/intern/library_query.c
index 85ddd4dcbb3..08f9c439a7a 100644
--- a/source/blender/blenkernel/intern/library_query.c
+++ b/source/blender/blenkernel/intern/library_query.c
@@ -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