From d607a70795d0478eb70bbb05cf297f871a97cd4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20T=C3=B6nne?= Date: Mon, 17 Feb 2014 13:07:56 +0100 Subject: Make sure RenderLayer/Image nodes always return a valid enum items list. --- source/blender/makesrna/intern/rna_nodetree.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'source/blender/makesrna/intern/rna_nodetree.c') diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 57713e7a037..92b8c935bd1 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -2613,10 +2613,14 @@ static EnumPropertyItem *rna_Node_image_layer_itemf(bContext *UNUSED(C), Pointer EnumPropertyItem *item = NULL; RenderLayer *rl; - if (!ima || !(ima->rr)) return NULL; - - rl = ima->rr->layers.first; - item = renderresult_layers_add_enum(rl); + if (ima && ima->rr) { + rl = ima->rr->layers.first; + item = renderresult_layers_add_enum(rl); + } + else { + int totitem = 0; + RNA_enum_item_end(&item, &totitem); + } *r_free = true; @@ -2631,10 +2635,14 @@ static EnumPropertyItem *rna_Node_scene_layer_itemf(bContext *UNUSED(C), Pointer EnumPropertyItem *item = NULL; RenderLayer *rl; - if (!sce) return NULL; - - rl = sce->r.layers.first; - item = renderresult_layers_add_enum(rl); + if (sce) { + rl = sce->r.layers.first; + item = renderresult_layers_add_enum(rl); + } + else { + int totitem = 0; + RNA_enum_item_end(&item, &totitem); + } *r_free = true; -- cgit v1.2.3