Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-04-24 23:21:18 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-04-24 23:21:18 +0400
commita0e03a6c77f19c042cbb7aea922d64404f2e35da (patch)
tree0328ee3fab08009b912558fee016bd052d1af066 /source/blender/makesrna/intern/makesrna.c
parentee6932aa89c85aca06505f8e77af8a9d4100fdde (diff)
Fix cycles build error, RNA C++ API did not properly handle output parameters.
Diffstat (limited to 'source/blender/makesrna/intern/makesrna.c')
-rw-r--r--source/blender/makesrna/intern/makesrna.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c
index bcab2b6a58a..e3c7af7b487 100644
--- a/source/blender/makesrna/intern/makesrna.c
+++ b/source/blender/makesrna/intern/makesrna.c
@@ -1824,10 +1824,8 @@ static void rna_def_struct_function_prototype_cpp(FILE *f, StructRNA *UNUSED(srn
pout = (flag & PROP_OUTPUT);
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 = pout ? "*": "";
+ else if (dp->prop->arraydimension)
ptrstr = "*";
else if (type == PROP_STRING && (flag & PROP_THICK_WRAP))
ptrstr = "";
@@ -2005,6 +2003,8 @@ static void rna_def_struct_function_call_impl_cpp(FILE *f, StructRNA *srna, Func
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