diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-02-17 16:07:56 +0400 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2014-02-17 16:11:49 +0400 |
commit | d607a70795d0478eb70bbb05cf297f871a97cd4e (patch) | |
tree | 2dc0760bfa6df508796770eecc59bb0987a50f4c /source/blender/makesrna/intern/rna_nodetree.c | |
parent | a61e3b9a9e335fdccf64fbdc942c4fd17b25646e (diff) |
Make sure RenderLayer/Image nodes always return a valid enum items list.
Diffstat (limited to 'source/blender/makesrna/intern/rna_nodetree.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_nodetree.c | 24 |
1 files changed, 16 insertions, 8 deletions
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; |