Commit: 0f88a3546cbd020af3f5c47b049ae4ecc6bc54ba
Author: Bastien Montagne
Date:   Fri Oct 7 10:20:40 2016 +0200
Branches: master
https://developer.blender.org/rB0f88a3546cbd020af3f5c47b049ae4ecc6bc54ba

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... :/

===================================================================

M       source/blender/blenkernel/intern/library_query.c

===================================================================

diff --git a/source/blender/blenkernel/intern/library_query.c 
b/source/blender/blenkernel/intern/library_query.c
index 85ddd4d..08f9c43 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

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to