Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-07-25 16:11:51 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-07-25 16:11:51 +0300
commit80e03e77099ba963cbc08545f0f28fe02e885110 (patch)
tree3cebcb22c7b125cd205a3f5460c0fea003994352 /source
parentf7636f0ef2b39eb2c6ee814684621a9c693fbdb8 (diff)
Depsgraph: Support changing scene's render engine
Diffstat (limited to 'source')
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc8
-rw-r--r--source/blender/makesrna/intern/rna_scene.c3
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(