From 5cb0a06d81de655651cbf6b8be87a62c235e2a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Devernay?= Date: Tue, 13 Aug 2024 17:40:37 +0200 Subject: [PATCH] SeNoise: only set centerChanged if necessary --- SeExpr/SeNoise.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/SeExpr/SeNoise.cpp b/SeExpr/SeNoise.cpp index a0f3500..b188cf6 100644 --- a/SeExpr/SeNoise.cpp +++ b/SeExpr/SeNoise.cpp @@ -1212,9 +1212,15 @@ SeNoisePlugin::changedParam(const InstanceChangedArgs& args, _rampInteractive->setIsSecretAndDisabled(noramp); } else if (paramName == kParamTransformResetCenter) { resetCenter(args.time); - _centerChanged->setValue(false); + // Only set if necessary + if (_centerChanged->getValue()) { + _centerChanged->setValue(false); + } } else if ((paramName == kParamTransformCenter) && ((args.reason == eChangeUserEdit) || (args.reason == eChangePluginEdit))) { - _centerChanged->setValue(true); + // Only set if necessary + if (!_centerChanged->getValue()) { + _centerChanged->setValue(true); + } } } @@ -1222,7 +1228,7 @@ void SeNoisePlugin::changedClip(const InstanceChangedArgs& args, const std::string& clipName) { - if ((clipName == kOfxImageEffectSimpleSourceClipName) && _srcClip && _srcClip->isConnected() && !_centerChanged->getValueAtTime(args.time) && (args.reason == eChangeUserEdit)) { + if ((clipName == kOfxImageEffectSimpleSourceClipName) && _srcClip && _srcClip->isConnected() && !_centerChanged->getValue() && (args.reason == eChangeUserEdit)) { resetCenter(args.time); } }