From 148c0cbca49f4708fb0bcea25c5f2834cfb0d062 Mon Sep 17 00:00:00 2001 From: Ingo Date: Thu, 28 Mar 2013 23:49:24 +0100 Subject: [PATCH] Fixes crashes, when using NR, because FFTW isn't tread save, Issue 1796 --- rtengine/FTblockDN.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rtengine/FTblockDN.cc b/rtengine/FTblockDN.cc index 565004e1d..c600b6d0c 100644 --- a/rtengine/FTblockDN.cc +++ b/rtengine/FTblockDN.cc @@ -85,7 +85,8 @@ namespace rtengine { void ImProcFunctions::RGB_denoise(Imagefloat * src, Imagefloat * dst, bool isRAW, const procparams::DirPyrDenoiseParams & dnparams, const procparams::DefringeParams & defringe, const double expcomp) { - + static Glib::Mutex FftwMutex; + FftwMutex.lock(); //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /*if (plistener) { @@ -736,6 +737,7 @@ namespace rtengine { fftwf_destroy_plan( plan_forward_blox[1] ); fftwf_destroy_plan( plan_backward_blox[1] ); fftwf_cleanup(); + FftwMutex.unlock(); }//end of main RGB_denoise