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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user