diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-12-05 16:35:55 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-12-05 16:40:10 +0300 |
commit | be359fc6e51a98143961cb01901761d059aaacfd (patch) | |
tree | 426d8a63baaef74f3483a5a5a2a53bec1ceacd75 /source/blender/makesrna/intern/rna_space.c | |
parent | 6122e1d6c02c530b40114201b24b0fb3fcd0f44c (diff) |
Fix T58756: crash changing shading.type in 3D viewport in inactive screen.
Diffstat (limited to 'source/blender/makesrna/intern/rna_space.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_space.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 10e4ed70710..6e01d326767 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -713,10 +713,10 @@ static int rna_3DViewShading_type_get(PointerRNA *ptr) { /* Available shading types depend on render engine. */ Scene *scene = rna_3DViewShading_scene(ptr); - RenderEngineType *type = RE_engines_find(scene->r.engine); + RenderEngineType *type = (scene) ? RE_engines_find(scene->r.engine) : NULL; View3DShading *shading = (View3DShading *)ptr->data; - if (BKE_scene_uses_blender_eevee(scene)) { + if (scene == NULL || BKE_scene_uses_blender_eevee(scene)) { return shading->type; } else if (BKE_scene_uses_blender_workbench(scene)) { @@ -746,7 +746,7 @@ static const EnumPropertyItem *rna_3DViewShading_type_itemf( PropertyRNA *UNUSED(prop), bool *r_free) { Scene *scene = rna_3DViewShading_scene(ptr); - RenderEngineType *type = RE_engines_find(scene->r.engine); + RenderEngineType *type = (scene) ? RE_engines_find(scene->r.engine) : NULL; EnumPropertyItem *item = NULL; int totitem = 0; @@ -754,7 +754,7 @@ static const EnumPropertyItem *rna_3DViewShading_type_itemf( RNA_enum_items_add_value(&item, &totitem, rna_enum_shading_type_items, OB_WIRE); RNA_enum_items_add_value(&item, &totitem, rna_enum_shading_type_items, OB_SOLID); - if (BKE_scene_uses_blender_eevee(scene)) { + if (scene == NULL || BKE_scene_uses_blender_eevee(scene)) { RNA_enum_items_add_value(&item, &totitem, rna_enum_shading_type_items, OB_MATERIAL); RNA_enum_items_add_value(&item, &totitem, rna_enum_shading_type_items, OB_RENDER); } |