From 4f3c477a85aa9c395f21830ed18e89407e9275db Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 25 Dec 2009 09:01:23 +0000 Subject: fix for segfault getting RNA Enum default values, minor updates to introspection class --- source/blender/makesrna/intern/rna_rna.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'source/blender/makesrna/intern/rna_rna.c') diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c index 5997867030d..5fd87728fb8 100644 --- a/source/blender/makesrna/intern/rna_rna.c +++ b/source/blender/makesrna/intern/rna_rna.c @@ -641,13 +641,18 @@ static EnumPropertyItem *rna_EnumProperty_default_itemf(bContext *C, PointerRNA rna_idproperty_check(&prop, ptr); eprop= (EnumPropertyRNA*)prop; - if(eprop->itemf==NULL || eprop->itemf==rna_EnumProperty_default_itemf || !C) + if( (eprop->itemf == NULL) || + (eprop->itemf == rna_EnumProperty_default_itemf) || + (ptr->type == &RNA_EnumProperty) || + (C == NULL)) + { return eprop->item; + } return eprop->itemf(C, ptr, free); } -/* XXX - not sore this is needed? */ +/* XXX - not sure this is needed? */ static int rna_EnumProperty_default_get(PointerRNA *ptr) { PropertyRNA *prop= (PropertyRNA*)ptr->data; -- cgit v1.2.3