From 7c2aa2405b497027fbcd8865f6449ab919aa6813 Mon Sep 17 00:00:00 2001 From: Ingo Weyrich Date: Thu, 2 Jan 2020 23:01:37 +0100 Subject: [PATCH 1/2] Startup crashes in LensProfilePanel::LFDbHelper, fixes #5577, thanks to @dlichtenberger for the fix --- rtgui/lensprofile.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rtgui/lensprofile.cc b/rtgui/lensprofile.cc index be21512d5..1a8391f66 100644 --- a/rtgui/lensprofile.cc +++ b/rtgui/lensprofile.cc @@ -586,6 +586,9 @@ void LensProfilePanel::onCorrModeChanged(const Gtk::RadioButton* rbChanged) LensProfilePanel::LFDbHelper::LFDbHelper() { + lensfunCameraModel = Gtk::TreeStore::create(lensfunModelCam); + lensfunLensModel = Gtk::TreeStore::create(lensfunModelLens); + #ifdef _OPENMP #pragma omp parallel sections if (!settings->verbose) #endif @@ -594,14 +597,12 @@ LensProfilePanel::LFDbHelper::LFDbHelper() #pragma omp section #endif { - lensfunCameraModel = Gtk::TreeStore::create(lensfunModelCam); fillLensfunCameras(); } #ifdef _OPENMP #pragma omp section #endif { - lensfunLensModel = Gtk::TreeStore::create(lensfunModelLens); fillLensfunLenses(); } } From cabbf8c229464eb52c90a0ebf19606026793bba9 Mon Sep 17 00:00:00 2001 From: Ingo Weyrich Date: Fri, 3 Jan 2020 20:23:34 +0100 Subject: [PATCH 2/2] guidedfilter: direct copy when no rescaling is needed, copied from ART --- rtengine/guidedfilter.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/rtengine/guidedfilter.cc b/rtengine/guidedfilter.cc index 6b2adb773..ad3beec51 100644 --- a/rtengine/guidedfilter.cc +++ b/rtengine/guidedfilter.cc @@ -106,7 +106,18 @@ void guidedFilter(const array2D &guide, const array2D &src, array2 const auto f_subsample = [multithread](array2D &d, const array2D &s) -> void { - rescaleBilinear(s, d, multithread); + if (d.width() == s.width() && d.height() == s.height()) { +#ifdef _OPENMP + #pragma omp parallel for if (multithread) +#endif + for (int y = 0; y < s.height(); ++y) { + for (int x = 0; x < s.width(); ++x) { + d[y][x] = s[y][x]; + } + } + } else { + rescaleBilinear(s, d, multithread); + } }; const auto f_mean =