Merge branch 'blender2.7'
[blender.git] / source / blender / editors / render / render_shading.c
index f2446a01ecf142b60036823627ba23d5dd00ba12..53fc82e3482f12e8d8a069f4cba47ed367244d5a 100644 (file)
@@ -718,6 +718,12 @@ void SCENE_OT_view_layer_add(wmOperatorType *ot)
        ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_INTERNAL;
 }
 
+static bool view_layer_remove_poll(bContext *C)
+{
+       Scene *scene = CTX_data_scene(C);
+       return (scene->view_layers.first != scene->view_layers.last);
+}
+
 static int view_layer_remove_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Main *bmain = CTX_data_main(C);
@@ -742,6 +748,7 @@ void SCENE_OT_view_layer_remove(wmOperatorType *ot)
 
        /* api callbacks */
        ot->exec = view_layer_remove_exec;
+       ot->poll = view_layer_remove_poll;
 
        /* flags */
        ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_INTERNAL;
@@ -1769,7 +1776,8 @@ void MATERIAL_OT_copy(wmOperatorType *ot)
        ot->exec = copy_material_exec;
 
        /* flags */
-       ot->flag = OPTYPE_REGISTER | OPTYPE_INTERNAL; /* no undo needed since no changes are made to the material */
+       /* no undo needed since no changes are made to the material */
+       ot->flag = OPTYPE_REGISTER | OPTYPE_INTERNAL;
 }
 
 static int paste_material_exec(bContext *C, wmOperator *UNUSED(op))
@@ -1781,6 +1789,7 @@ static int paste_material_exec(bContext *C, wmOperator *UNUSED(op))
 
        paste_matcopybuf(CTX_data_main(C), ma);
 
+       DEG_id_tag_update(&ma->id, ID_RECALC_COPY_ON_WRITE);
        WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING_LINKS, ma);
 
        return OPERATOR_FINISHED;
@@ -1901,7 +1910,8 @@ void TEXTURE_OT_slot_copy(wmOperatorType *ot)
        ot->poll = copy_mtex_poll;
 
        /* flags */
-       ot->flag = OPTYPE_REGISTER | OPTYPE_INTERNAL; /* no undo needed since no changes are made to the mtex */
+       /* no undo needed since no changes are made to the mtex */
+       ot->flag = OPTYPE_REGISTER | OPTYPE_INTERNAL;
 }
 
 static int paste_mtex_exec(bContext *C, wmOperator *UNUSED(op))