diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index 8a6fd06e4..fbdddf63a 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -2308,8 +2308,8 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) tempsym = params->colorappearance.tempout; greensym = params->colorappearance.greenout; } - if (params->colorappearance.enabled) { - acListener->wbCamChanged(tempsym, greensym); //real temp and tint. + if (params->colorappearance.enabled && acListener) { + acListener->wbCamChanged(tempsym, greensym, params->colorappearance.autotempout); //real temp and tint. } } else { diff --git a/rtengine/iplocallab.cc b/rtengine/iplocallab.cc index 37ef276df..d7eca81ff 100644 --- a/rtengine/iplocallab.cc +++ b/rtengine/iplocallab.cc @@ -933,8 +933,8 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.balanexp = locallab.spots.at(sp).balanexp; lp.linear = locallab.spots.at(sp).linear; - if (locallab.spots.at(sp).smoothciemet == "norm") { - lp.smoothciem = 1; + if (locallab.spots.at(sp).smoothciemet == "none") { + lp.smoothciem = 0; } else if (locallab.spots.at(sp).smoothciemet == "Ev") { lp.smoothciem = 1; } else if (locallab.spots.at(sp).smoothciemet == "gam") { @@ -943,7 +943,7 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.smoothciem = 3; } - if (locallab.spots.at(sp).smoothciemet == "none") { + if (locallab.spots.at(sp).spotMethod == "norm") { lp.fullim = 0; } else if (locallab.spots.at(sp).spotMethod == "exc") { lp.fullim = 1; diff --git a/rtengine/rtengine.h b/rtengine/rtengine.h index fdd6676e6..e76d17336 100644 --- a/rtengine/rtengine.h +++ b/rtengine/rtengine.h @@ -372,7 +372,7 @@ public : virtual void autoCamChanged(double ccam, double ccamout) = 0; virtual void adapCamChanged(double cadap) = 0; virtual void ybCamChanged(int yb) = 0; - virtual void wbCamChanged(double tem, double tin) = 0; + virtual void wbCamChanged(double tem, double tin, bool autotemp) = 0; }; diff --git a/rtgui/colorappearance.cc b/rtgui/colorappearance.cc index 0390ef869..d18cddcad 100644 --- a/rtgui/colorappearance.cc +++ b/rtgui/colorappearance.cc @@ -1880,18 +1880,36 @@ void ColorAppearance::adapCamChanged (double cadap) } -void ColorAppearance::wbCamChanged (double temp, double tin) +void ColorAppearance::wbCamChanged (double temp, double tin, bool autotemp) {//reactivate this function idle_register.add( - [this, temp, tin]() -> bool + [this, temp, tin, autotemp]() -> bool + { + if (temp != tempout->getValue()) { + disableListener(); + tempout->setValue(temp); + enableListener(); + listener->panelChanged (EvCATtempout, tempout->getTextValue()); + } + if (tin != greenout->getValue()) { + disableListener(); + greenout->setValue(tin); + enableListener(); + listener->panelChanged (EvCATgreenout, greenout->getTextValue()); + } + /* disableListener(); tempout->setValue(temp); greenout->setValue(tin); enableListener(); - listener->panelChanged (EvCATgreenout, greenout->getTextValue()); - listener->panelChanged (EvCATtempout, tempout->getTextValue()); + + if(!autotemp) { + listener->panelChanged (EvCATgreenout, "");//greenout->getTextValue()); + listener->panelChanged (EvCATtempout, "");//tempout->getTextValue()); + }*/ + return false; } ); diff --git a/rtgui/colorappearance.h b/rtgui/colorappearance.h index 714f3e557..e8f6084cd 100644 --- a/rtgui/colorappearance.h +++ b/rtgui/colorappearance.h @@ -66,7 +66,7 @@ public: void autoCamChanged (double ccam, double ccamout) override; bool autoCamComputed_ (); void adapCamChanged (double cadap) override; - void wbCamChanged(double tem, double tin) override; + void wbCamChanged(double tem, double tin, bool autotemp) override; bool adapCamComputed_ (); void ybCamChanged (int yb) override; bool ybCamComputed_ ();