diff --git a/source/blender/draw/engines/compositor/compositor_engine.cc b/source/blender/draw/engines/compositor/compositor_engine.cc index 11a1134236e..55ba5cdb0c9 100644 --- a/source/blender/draw/engines/compositor/compositor_engine.cc +++ b/source/blender/draw/engines/compositor/compositor_engine.cc @@ -128,17 +128,20 @@ class Context : public compositor::Context { return result; } - compositor::Result get_input(const Scene *scene, int view_layer, const char *name) override + compositor::Result get_input(const Scene *scene, int view_layer_index, const char *name) override { /* Blender aliases the Image pass name to be the Combined pass, so we return the combined pass * in that case. */ const char *pass_name = StringRef(name) == "Image" ? "Combined" : name; - if (DEG_get_original(scene) != DEG_get_original(scene_)) { + const Scene *original_scene = DEG_get_original(scene_); + if (DEG_get_original(scene) != original_scene) { return compositor::Result(*this); } - if (view_layer != 0) { + ViewLayer *view_layer = static_cast( + BLI_findlink(&original_scene->view_layers, view_layer_index)); + if (StringRef(view_layer->name) != DRW_context_get()->view_layer->name) { return compositor::Result(*this); }