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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-05-21 13:34:11 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-05-21 13:34:11 +0300
commit882daeffc5f189e9278f8b6a9f66df77aae0f306 (patch)
tree181c8e34519a50a83dd3ee2c3781212f8e70d511 /source
parent6d8aa8505115c03ab2a50489f23fe36dea8cd564 (diff)
RNA: support for PARM_OUTPUT & PARM_RNAPTR
Diffstat (limited to 'source')
-rw-r--r--source/blender/makesrna/intern/makesrna.c12
1 files changed, 10 insertions, 2 deletions
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