diff options
-rw-r--r-- | source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc | 8 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_scene.c | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc index b0e8760174a..7d8db60f9ba 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc +++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc @@ -547,9 +547,11 @@ void update_copy_on_write_scene(const Depsgraph *depsgraph, else { scene_cow->obedit = NULL; } - // TODO(sergey): Things which are still missing here: - // - Active render engine. - // - Something else? + /* Synchronize active render engine. */ + BLI_strncpy_utf8(scene_cow->r.engine, + scene_orig->r.engine, + sizeof(scene_cow->r.engine)); + /* TODO(sergey): What else do we need here? */ } /* Update copy-on-write version of armature object from original scene. */ diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index b2c1ea73f8a..2c0ffd6af05 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -1569,9 +1569,12 @@ static void rna_RenderSettings_engine_set(PointerRNA *ptr, int value) { RenderData *rd = (RenderData *)ptr->data; RenderEngineType *type = BLI_findlink(&R_engines, value); + Scene *scene = (Scene *)ptr->id.data; if (type) BLI_strncpy_utf8(rd->engine, type->idname, sizeof(rd->engine)); + + DEG_id_tag_update(&scene->id, DEG_TAG_COPY_ON_WRITE); } static EnumPropertyItem *rna_RenderSettings_engine_itemf( |