diff --git a/rtengine/rtlensfun.cc b/rtengine/rtlensfun.cc index 2f70aabac..626d333aa 100644 --- a/rtengine/rtlensfun.cc +++ b/rtengine/rtlensfun.cc @@ -215,6 +215,24 @@ float LFLens::getCropFactor() const } } +bool LFLens::hasVignettingCorrection() const +{ + if (data_) { + return data_->CalibVignetting; + } else { + return false; + } +} + +bool LFLens::hasDistortionCorrection() const +{ + if (data_) { + return data_->CalibDistortion; + } else { + return false; + } +} + //----------------------------------------------------------------------------- // LFDatabase diff --git a/rtengine/rtlensfun.h b/rtengine/rtlensfun.h index a862c7b2a..1d54d9444 100644 --- a/rtengine/rtlensfun.h +++ b/rtengine/rtlensfun.h @@ -76,6 +76,8 @@ public: Glib::ustring getLens() const; Glib::ustring getDisplayString() const { return getLens(); } float getCropFactor() const; + bool hasVignettingCorrection() const; + bool hasDistortionCorrection() const; private: friend class LFDatabase; const lfLens *data_; diff --git a/rtgui/lensprofile.cc b/rtgui/lensprofile.cc index 3927ef225..c2dde09b5 100644 --- a/rtgui/lensprofile.cc +++ b/rtgui/lensprofile.cc @@ -250,6 +250,8 @@ void LensProfilePanel::updateLensfunWarning() if (l.getCropFactor() - c.getCropFactor() >= 0.01) { warning->show(); } + ckbUseVign->set_sensitive(l.hasVignettingCorrection()); + ckbUseDist->set_sensitive(l.hasDistortionCorrection()); } }