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.
This commit is contained in:
2026-07-13 10:19:30 +08:00
parent ca22028a52
commit f131abc5f7
+3 -1
View File
@@ -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;
}