[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56277] trunk/blender/source/blender/ makesrna/intern/makesrna.c: Fix cycles build error, RNA C++ API did not properly handle output parameters.

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Apr 24 21:21:18 CEST 2013


Revision: 56277
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56277
Author:   blendix
Date:     2013-04-24 19:21:18 +0000 (Wed, 24 Apr 2013)
Log Message:
-----------
Fix cycles build error, RNA C++ API did not properly handle output parameters.

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	2013-04-24 19:21:16 UTC (rev 56276)
+++ trunk/blender/source/blender/makesrna/intern/makesrna.c	2013-04-24 19:21:18 UTC (rev 56277)
@@ -1824,11 +1824,9 @@
 		pout = (flag & PROP_OUTPUT);
 
 		if (type == PROP_POINTER)
-			ptrstr = "";
-		else if ((type == PROP_POINTER) && (flag & PROP_RNAPTR) && !(flag & PROP_THICK_WRAP))
+			ptrstr = pout ? "*": "";
+		else if (dp->prop->arraydimension)
 			ptrstr = "*";
-		else if (type == PROP_POINTER || dp->prop->arraydimension)
-			ptrstr = "*";
 		else if (type == PROP_STRING && (flag & PROP_THICK_WRAP))
 			ptrstr = "";
 		else
@@ -2005,6 +2003,8 @@
 		if (dp->prop->type == PROP_POINTER)
 			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 if(dp->prop->flag & PROP_OUTPUT)
+				fprintf(f, "(::%s **) &%s->ptr.data", 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




More information about the Bf-blender-cvs mailing list