[Bf-blender-cvs] [4d0d1b5936c] master: Fix T51150: user_remap on itself changes users to 0.

Bastien Montagne noreply at git.blender.org
Mon Apr 17 22:34:48 CEST 2017


Commit: 4d0d1b5936c59b6e7ce5b3ae8b1af617cbdada61
Author: Bastien Montagne
Date:   Mon Apr 17 22:33:07 2017 +0200
Branches: master
https://developer.blender.org/rB4d0d1b5936c59b6e7ce5b3ae8b1af617cbdada61

Fix T51150: user_remap on itself changes users to 0.

Remapping to itself is nonsense here (was triggering an assert in
BKE_library code actually), just make it a bail out early in RNA
callback in that case.

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

M	source/blender/makesrna/intern/rna_ID.c

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

diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index 6ed2c55138c..a74758a4f71 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -342,7 +342,7 @@ static void rna_ID_user_clear(ID *id)
 
 static void rna_ID_user_remap(ID *id, Main *bmain, ID *new_id)
 {
-	if (GS(id->name) == GS(new_id->name)) {
+	if ((GS(id->name) == GS(new_id->name)) && (id != new_id)) {
 		/* For now, do not allow remapping data in linked data from here... */
 		BKE_libblock_remap(bmain, id, new_id, ID_REMAP_SKIP_INDIRECT_USAGE | ID_REMAP_SKIP_NEVER_NULL_USAGE);
 	}




More information about the Bf-blender-cvs mailing list