From 9439df1ab84299ca5e9dddcdacf1c8f1451f158f Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Tue, 15 May 2018 18:19:08 +0200 Subject: [PATCH] Copy on write: VIEW3D_OT_clear_render_border + rna --- source/blender/editors/space_view3d/view3d_edit.c | 3 +++ source/blender/makesrna/intern/rna_scene.c | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 5bb1cb25fa7..a3990091b12 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -3342,6 +3342,9 @@ static int clear_render_border_exec(bContext *C, wmOperator *UNUSED(op)) border->xmax = 1.0f; border->ymax = 1.0f; + if (rv3d->persp == RV3D_CAMOB) { + DEG_id_tag_update(&scene->id, DEG_TAG_COPY_ON_WRITE); + } return OPERATOR_FINISHED; } diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 4c43fb50248..0084c44cecc 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -1643,8 +1643,7 @@ static void rna_Scene_simplify_update(Main *bmain, Scene *scene, PointerRNA *ptr static void rna_SceneRenderData_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) { Scene *sce = ptr->id.data; - - DEG_id_tag_update(&sce->id, 0); + DEG_id_tag_update(&sce->id, DEG_TAG_COPY_ON_WRITE); } static void rna_Scene_use_persistent_data_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) @@ -5038,7 +5037,7 @@ static void rna_def_scene_render_data(BlenderRNA *brna) RNA_def_property_boolean_sdna(prop, NULL, "mode", R_BORDER); RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); RNA_def_property_ui_text(prop, "Border", "Render a user-defined border region, within the frame size "); - RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_SceneRenderData_update"); prop = RNA_def_property(srna, "border_min_x", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "border.xmin");