From 45507319635a0351d3c5010d75c32e40bf211d25 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 5 Apr 2014 14:36:18 +0200 Subject: RNA: optimization to avoid malloc for iterators. This mostly helps making Cycles scene synchronization a bit faster. --- source/blender/makesrna/intern/makesrna.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/makesrna/intern/makesrna.c') diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c index 76a967753c0..029e25f3e99 100644 --- a/source/blender/makesrna/intern/makesrna.c +++ b/source/blender/makesrna/intern/makesrna.c @@ -1147,7 +1147,7 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property fprintf(f, " if (iter.valid) {\n"); if (strcmp(nextfunc, "rna_iterator_array_next") == 0) { - fprintf(f, " ArrayIterator *internal = iter.internal;\n"); + fprintf(f, " ArrayIterator *internal = &iter.internal.array;\n"); fprintf(f, " if (index < 0 || index >= internal->length) {\n"); fprintf(f, "#ifdef __GNUC__\n"); fprintf(f, " printf(\"Array iterator out of range: %%s (index %%d)\\n\", __func__, index);\n"); @@ -1167,7 +1167,7 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property fprintf(f, " }\n"); } else if (strcmp(nextfunc, "rna_iterator_listbase_next") == 0) { - fprintf(f, " ListBaseIterator *internal = iter.internal;\n"); + fprintf(f, " ListBaseIterator *internal = &iter.internal.listbase;\n"); fprintf(f, " if (internal->skip) {\n"); fprintf(f, " while (index-- > 0 && iter.valid) {\n"); fprintf(f, " rna_iterator_listbase_next(&iter);\n"); -- cgit v1.2.3