Commit: be359fc6e51a98143961cb01901761d059aaacfd
Author: Brecht Van Lommel
Date:   Wed Dec 5 14:35:55 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBbe359fc6e51a98143961cb01901761d059aaacfd

Fix T58756: crash changing shading.type in 3D viewport in inactive screen.

===================================================================

M       source/blender/makesrna/intern/rna_space.c

===================================================================

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);
        }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to