[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51817] trunk/blender/source/blender/ makesrna/intern/makesrna.c: own recent commit to add pointer passing between py-rna and our C code, broke function calls for C++ rna api.

Campbell Barton ideasman42 at gmail.com
Fri Nov 2 11:37:34 CET 2012


Revision: 51817
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51817
Author:   campbellbarton
Date:     2012-11-02 10:37:33 +0000 (Fri, 02 Nov 2012)
Log Message:
-----------
own recent commit to add pointer passing between py-rna and our C code, broke function calls for C++ rna api.

reported as [#33048] Cycles crashes when rendering

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	2012-11-02 10:33:54 UTC (rev 51816)
+++ trunk/blender/source/blender/makesrna/intern/makesrna.c	2012-11-02 10:37:33 UTC (rev 51817)
@@ -1746,6 +1746,8 @@
 
 		if (type == PROP_POINTER)
 			ptrstr = "";
+		else if ((type == PROP_POINTER) && (flag & PROP_RNAPTR) && !(flag & PROP_THICK_WRAP))
+			ptrstr = "*";
 		else if (type == PROP_POINTER || dp->prop->arraydimension)
 			ptrstr = "*";
 		else if (type == PROP_STRING && (flag & PROP_THICK_WRAP))
@@ -1918,7 +1920,10 @@
 			fprintf(f, "%s_len, ", dp->prop->identifier);
 
 		if (dp->prop->type == PROP_POINTER)
-			fprintf(f, "(::%s *) %s.ptr.data", rna_parameter_type_name(dp->prop), rna_safe_id(dp->prop->identifier));
+			if ((dp->prop->flag & PROP_RNAPTR) && !(dp->prop->flag & PROP_THICK_WRAP))
+				fprintf(f, "(::%s *) &%s.ptr", rna_parameter_type_name(dp->prop), rna_safe_id(dp->prop->identifier));
+			else
+				fprintf(f, "(::%s *) %s.ptr.data", rna_parameter_type_name(dp->prop), rna_safe_id(dp->prop->identifier));
 		else
 			fprintf(f, "%s", rna_safe_id(dp->prop->identifier));
 	}




More information about the Bf-blender-cvs mailing list