From f131abc5f74908b1e5978086fafefbd05b634eba Mon Sep 17 00:00:00 2001 From: Mike Solar Date: Sun, 12 Jul 2026 15:17:09 +0800 Subject: [PATCH] Fix OCIOLutNode direction changes being ignored EnsureProcessor() was returning early whenever a processor existed and processor_dirty_ was false, without checking whether the file or direction input had changed. As a result, switching Forward/Inverse in the main GUI re-used the old processor and produced no visible difference. Now EnsureProcessor() also compares the current inputs against the values used to create last_processor_, so direction/file changes always trigger a regeneration before the color transform job is emitted. --- app/node/color/ociolut/ociolut.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/node/color/ociolut/ociolut.cpp b/app/node/color/ociolut/ociolut.cpp index eb396a098..43b505138 100644 --- a/app/node/color/ociolut/ociolut.cpp +++ b/app/node/color/ociolut/ociolut.cpp @@ -160,7 +160,9 @@ void OCIOLutNode::EnsureProcessor() const { QMutexLocker locker(&gen_mutex_); - if (!processor_dirty_ && last_processor_) { + if (!processor_dirty_ && last_processor_ && + GetStandardValue(kFileInput).toString() == last_path_ && + GetStandardValue(kDirectionInput).toInt() == last_direction_) { return; }