[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30421] trunk/blender/source/blender/ makesrna/intern/makesrna.c: fix for assigning any ID in rna, it would not run id_lib_extern() which means the library reference would be lost on reload.

Campbell Barton ideasman42 at gmail.com
Sat Jul 17 00:21:38 CEST 2010


Revision: 30421
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30421
Author:   campbellbarton
Date:     2010-07-17 00:21:37 +0200 (Sat, 17 Jul 2010)

Log Message:
-----------
fix for assigning any ID in rna, it would not run id_lib_extern() which means the library reference would be lost on reload.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/makesrna.c

Modified: trunk/blender/source/blender/makesrna/intern/makesrna.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/makesrna.c	2010-07-16 21:42:20 UTC (rev 30420)
+++ trunk/blender/source/blender/makesrna/intern/makesrna.c	2010-07-16 22:21:37 UTC (rev 30421)
@@ -628,6 +628,14 @@
 					fprintf(f, "	if(value.data)\n");
 					fprintf(f, "		id_us_plus((ID*)value.data);\n\n");
 				}
+				else {
+					PointerPropertyRNA *pprop= (PointerPropertyRNA*)dp->prop;
+					StructRNA *type= rna_find_struct((char*)pprop->type);
+					if(type && (type->flag & STRUCT_ID)) {
+						fprintf(f, "	if(value.data)\n");
+						fprintf(f, "		id_lib_extern((ID*)value.data);\n\n");
+					}
+				}
 
 				fprintf(f, "	data->%s= value.data;\n", dp->dnaname);
 





More information about the Bf-blender-cvs mailing list