[Bf-blender-cvs] [74df1c1e04] temp-depsgraph-layers: Fix crash when removing layer

Dalai Felinto noreply at git.blender.org
Wed Mar 22 15:38:50 CET 2017


Commit: 74df1c1e0407dfc4ef95372301739171e95fd182
Author: Dalai Felinto
Date:   Tue Mar 21 11:48:18 2017 +0100
Branches: temp-depsgraph-layers
https://developer.blender.org/rB74df1c1e0407dfc4ef95372301739171e95fd182

Fix crash when removing layer

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

M	source/blender/blenkernel/intern/layer.c
M	source/blender/editors/render/render_shading.c
M	source/blender/makesrna/intern/rna_scene.c

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

diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index f401a63140..92490a7746 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -822,10 +822,10 @@ static void layer_collection_object_add(SceneLayer *sl, LayerCollection *lc, Obj
 
 	if ((lc->flag_evaluated & COLLECTION_VISIBLE) != 0) {
 		base->flag |= BASE_VISIBLED;
-	}
 
-	if ((lc->flag_evaluated & COLLECTION_SELECTABLE) != 0) {
-		base->flag |= BASE_SELECTABLED;
+		if ((lc->flag_evaluated & COLLECTION_SELECTABLE) != 0) {
+			base->flag |= BASE_SELECTABLED;
+		}
 	}
 
 	BKE_scene_layer_engine_settings_object_recalculate(sl, ob);
diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c
index c2aaba4dfd..b58bd43a35 100644
--- a/source/blender/editors/render/render_shading.c
+++ b/source/blender/editors/render/render_shading.c
@@ -661,6 +661,7 @@ static int render_layer_remove_exec(bContext *C, wmOperator *UNUSED(op))
 	}
 
 	DAG_id_tag_update(&scene->id, 0);
+	DAG_relations_tag_update(CTX_data_main(C));
 	WM_event_add_notifier(C, NC_SCENE | ND_RENDER_OPTIONS, scene);
 	
 	return OPERATOR_FINISHED;
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 555d715a17..cbd072b313 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -2930,6 +2930,7 @@ static void rna_SceneLayer_remove(
 	RNA_POINTER_INVALIDATE(sl_ptr);
 
 	DAG_id_tag_update(&scene->id, 0);
+	DAG_relations_tag_update(bmain);
 	WM_main_add_notifier(NC_SCENE | ND_LAYER, NULL);
 }




More information about the Bf-blender-cvs mailing list