From 4d010f8decf277c24694d89a26365515e03ea1ce Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Tue, 7 Nov 2017 10:31:03 +0100 Subject: [PATCH] do use a temporary image for Fattal in dcrop when it is needed Because, sometimes it is needed indeed... --- rtengine/dcrop.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rtengine/dcrop.cc b/rtengine/dcrop.cc index 710890b2c..41867d1c9 100644 --- a/rtengine/dcrop.cc +++ b/rtengine/dcrop.cc @@ -715,8 +715,15 @@ void Crop::update (int todo) transCrop = nullptr; } + std::unique_ptr fattalCrop; if ((todo & M_RGBCURVE) && params.fattal.enabled) { - parent->ipf.ToneMapFattal02(baseCrop); + Imagefloat *f = baseCrop; + if (f == origCrop) { + fattalCrop.reset(baseCrop->copy()); + f = fattalCrop.get(); + } + parent->ipf.ToneMapFattal02(f); + baseCrop = f; } if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) {