[Bf-blender-cvs] [be359fc6e51] blender2.8: Fix T58756: crash changing shading.type in 3D viewport in inactive screen.

Brecht Van Lommel noreply at git.blender.org
Wed Dec 5 14:40:20 CET 2018


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



More information about the Bf-blender-cvs mailing list