diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index 2b45bfe38..3cab9b6b1 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -461,6 +461,7 @@ RawImageSource::RawImageSource () , greenCache(nullptr) , redCache(nullptr) , blueCache(nullptr) + , captureSharpeningAutoContrast(false) , rawDirty(true) , histMatchingParams(new procparams::ColorManagementParams) { @@ -5003,7 +5004,11 @@ void RawImageSource::getRawValues(int x, int y, int rotate, int &R, int &G, int void RawImageSource::captureSharpening(const procparams::SharpeningParams &sharpeningParams, bool showMask, double &conrastThreshold) { BENCHFUN - + if (!sharpeningParams.autoContrast && captureSharpeningAutoContrast) { + captureSharpeningAutoContrast = false; + return; + } + captureSharpeningAutoContrast = sharpeningParams.autoContrast; if (plistener) { plistener->setProgressStr(M("TP_PDSHARPENING_LABEL")); plistener->setProgress(0.0); diff --git a/rtengine/rawimagesource.h b/rtengine/rawimagesource.h index bbc15c448..cebedd32f 100644 --- a/rtengine/rawimagesource.h +++ b/rtengine/rawimagesource.h @@ -94,6 +94,7 @@ protected: array2D* redCache; // the interpolated blue plane: array2D* blueCache; + bool captureSharpeningAutoContrast; bool rawDirty; float psRedBrightness[4]; float psGreenBrightness[4];