Don't set exposure to zero when 'auto levels' is disabled and 'auto matched tone curve' is enabled

This commit is contained in:
heckflosse
2018-01-21 18:03:51 +01:00
parent 88123cdd14
commit 44984a911b
3 changed files with 10 additions and 3 deletions

View File

@@ -449,10 +449,13 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
if (params.toneCurve.histmatching) {
imgsrc->getAutoMatchedToneCurve(params.toneCurve.curve);
if (params.toneCurve.autoexp) {
params.toneCurve.expcomp = 0.0;
}
params.toneCurve.autoexp = false;
params.toneCurve.curveMode = ToneCurveParams::TcMode::FILMLIKE;
params.toneCurve.curve2 = { 0 };
params.toneCurve.expcomp = 0.0;
params.toneCurve.brightness = 0;
params.toneCurve.contrast = 0;
params.toneCurve.black = 0;

View File

@@ -743,14 +743,18 @@ private:
if (params.toneCurve.histmatching) {
imgsrc->getAutoMatchedToneCurve(params.toneCurve.curve);
if (params.toneCurve.autoexp) {
params.toneCurve.expcomp = 0.0;
}
params.toneCurve.autoexp = false;
params.toneCurve.curveMode = ToneCurveParams::TcMode::FILMLIKE;
params.toneCurve.curve2 = { 0 };
params.toneCurve.expcomp = 0.0;
params.toneCurve.brightness = 0;
params.toneCurve.contrast = 0;
params.toneCurve.black = 0;
params.toneCurve.hlcompr = 0;
}
// at this stage, we can flush the raw data to free up quite an important amount of memory

View File

@@ -936,7 +936,6 @@ bool ToneCurve::histmatchingComputed()
GThreadLock lock;
disableListener();
enableAll();
expcomp->setValue(0);
brightness->setValue(0);
contrast->setValue(0);
black->setValue(0);
@@ -947,6 +946,7 @@ bool ToneCurve::histmatchingComputed()
}
if (autolevels->get_active() ) {
expcomp->setValue(0);
autoconn.block(true);
autolevels->set_active(false);
autoconn.block(false);