diff --git a/rtengine/ipsharpen.cc b/rtengine/ipsharpen.cc index d722ddfdf..1d699bb87 100644 --- a/rtengine/ipsharpen.cc +++ b/rtengine/ipsharpen.cc @@ -178,9 +178,11 @@ BENCHFUN JaggedArray blend(W, H); float contrast = sharpenParam.contrast / 100.f; buildBlendMask(luminance, blend, W, H, contrast, sharpenParam.deconvamount / 100.f); - JaggedArray blur(W, H); + JaggedArray* blurbuffer = nullptr; if (sharpenParam.blurradius >= 0.25f) { + blurbuffer = new JaggedArray(W, H); + JaggedArray &blur = *blurbuffer; #ifdef _OPENMP #pragma omp parallel #endif @@ -227,6 +229,7 @@ BENCHFUN } if (sharpenParam.blurradius >= 0.25f) { + JaggedArray &blur = *blurbuffer; #ifdef _OPENMP #pragma omp for #endif @@ -237,6 +240,7 @@ BENCHFUN } } } // end parallel + delete blurbuffer; } void ImProcFunctions::sharpening (LabImage* lab, const SharpeningParams &sharpenParam, bool showMask)