From 5f2151ba4dd8f19c5ebc178c64644d45c825b3fd Mon Sep 17 00:00:00 2001 From: heckflosse Date: Tue, 22 Sep 2015 17:26:40 +0200 Subject: [PATCH] Segfault when pasting a copied profile with retinex filter, fixes #2913 --- rtgui/paramsedited.cc | 7 ++++++- rtgui/paramsedited.h | 2 +- rtgui/toolpanelcoord.cc | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index dc142f6de..58064b970 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -1065,7 +1065,7 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten if (retinex.slope) { toEdit.retinex.slope = mods.retinex.slope; } - + if (retinex.str) { toEdit.retinex.str = dontforceSet && options.baBehav[ADDSET_DH_STR] ? toEdit.retinex.str + mods.retinex.str : mods.retinex.str; } @@ -2681,3 +2681,8 @@ bool LensProfParamsEdited::isUnchanged() const { return lcpFile; } + +bool RetinexParamsEdited::isUnchanged() const +{ + return enabled && retinexcolorspace && gammaretinex && gam && slope; +} \ No newline at end of file diff --git a/rtgui/paramsedited.h b/rtgui/paramsedited.h index bfe7fbe02..d71f4da73 100644 --- a/rtgui/paramsedited.h +++ b/rtgui/paramsedited.h @@ -77,7 +77,7 @@ public: bool cdHcurve; bool retinex; bool medianmap; - + bool isUnchanged() const; }; diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index 3c82cd0a8..2c7ae9115 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -396,7 +396,7 @@ void ToolPanelCoordinator::profileChange (const PartialProfile *nparams, rtengi lParams[1] = *mergedParams; pe.initFrom (lParams); - filterRawRefresh = pe.raw.isUnchanged() && pe.lensProf.isUnchanged(); + filterRawRefresh = pe.raw.isUnchanged() && pe.lensProf.isUnchanged() && pe.retinex.isUnchanged(); } *params = *mergedParams;