[Bf-blender-cvs] [72ba23c7fce] gsoc-2018-many-light-sampling: RNA: support for PARM_OUTPUT & PARM_RNAPTR

Campbell Barton noreply at git.blender.org
Fri Jun 1 16:17:05 CEST 2018


Commit: 72ba23c7fce373d30df90b3b2435303abbcf56d2
Author: Campbell Barton
Date:   Mon May 21 12:34:11 2018 +0200
Branches: gsoc-2018-many-light-sampling
https://developer.blender.org/rB72ba23c7fce373d30df90b3b2435303abbcf56d2

RNA: support for PARM_OUTPUT & PARM_RNAPTR

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

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

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

diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c
index 94ae49c48c3..26ce24d5911 100644
--- a/source/blender/makesrna/intern/makesrna.c
+++ b/source/blender/makesrna/intern/makesrna.c
@@ -2092,8 +2092,16 @@ static void rna_def_struct_function_call_impl_cpp(FILE *f, StructRNA *srna, Func
 		if (dp->prop->type == PROP_POINTER)
 			if ((dp->prop->flag_parameter & PARM_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_parameter & PARM_OUTPUT)
-				fprintf(f, "(::%s **) &%s->ptr.data", rna_parameter_type_name(dp->prop), rna_safe_id(dp->prop->identifier));
+			else if (dp->prop->flag_parameter & PARM_OUTPUT) {
+				if (dp->prop->flag_parameter & PARM_RNAPTR) {
+					fprintf(f, "&%s->ptr",
+					        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 *) %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